2
awk、grep、sortのいずれかを使ってbashの部分的な重複を削除するにはどうしたらいいですか?テキストファイルから重複部分を削除するにはどうすればよいですか?
入力:
"3","6"
"3","7"
"4","9"
"5","6"
"26","48"
"543","7"
予想される出力:
"3","6"
"3","7"
"4","9"
"26","48"
awk、grep、sortのいずれかを使ってbashの部分的な重複を削除するにはどうしたらいいですか?テキストファイルから重複部分を削除するにはどうすればよいですか?
入力:
"3","6"
"3","7"
"4","9"
"5","6"
"26","48"
"543","7"
予想される出力:
"3","6"
"3","7"
"4","9"
"26","48"
あなたは次のことを試してみて、これがあなたを助けている場合、私に知らせてもらえ。
awk -F'[",]' '!a[$5]++' Input_file
出力は以下の通りです。
"3","6"
"3","7"
"4","9"
"26","48"
EDIT:あまりにもここでの説明を追加します。
awk -F'[",]' ' ##Setting field separator as " or , for every line of Input_file.
!a[$5]++ ##creating an array named a whose index is $5(fifth field) and checking condition if 5th field is NOT present in array a, so when any 5th field comes in array a then increasing its count so next time it will not take any duplicates in it. Since awk works on condition and then action, since here no action is mentioned so by default print of current line will happen.
' Input_file ##Mentioning the Input_file here too.
'-F、'を使って '$ 2'をチェックするだけでいいです。 –