単語は行内に「、」で区切られ、各行には同じ数の単語(例:4)があるファイルがあります。したがって、その形は次のとおりです。
something1,something2,something3,something4
4番目の列に含まれる行を正確に検索したいのですがsomething4
、次のような行がある場合はどうすればよいですか?
something1,something2,something3,1_something4
grepを使用すると、これら2つの行を取得できますが、4番目の要素の行だけが必要です。something4
どうすればいいですか?
ベストアンサー1
次の目的で使用できますawk
。
awk -F, '$4 == "something4"' file.csv
4番目の列を持つ行の行全体を印刷する必要があります。something4
変数を渡すには、awk
次のことが必要です。
var1=$(echo "something,something4" | cut -f2 -d,)
awk -F, -vsearch="$var1" '$4 == search' file.csv