文字列にawkを使用する[閉じる]

文字列にawkを使用する[閉じる]

端末で最初の文字が「A」のCSVファイルの行を一覧表示したいと思います。これを行う簡単な方法はありますか?

ベストアンサー1

次のようなファイルがあるとしましょう。

~$ cat f
1,AA,2
2,BB,2
3, AA, 1
C, BA, 1

単にgrepを使うことができます。

~$ grep "^[^,], *A" f
1,AA,2
3, AA, 1

しかし、同じ正規表現でawkを使用することは可能です。

~$ awk '/^[^,], *A/' f
1,AA,2
3, AA, 1

より良いアプローチは、フィールド区切り記号()を使用し-F','て2番目のフィールドをテストすることです。

~$  awk -F',' '$2~/^ *A/' f
1,AA,2
3, AA, 1

そしてsedを使用してください:

~$ sed -n '/^[^,], *A/p' f
1,AA,2
3, AA, 1

引用符付きフィールド内にカンマがある場合、これらのコマンドは機能しません。たとえば、次のようになります。

"1,A",AA,A
'1,A',AA,A

このような場合は、次のプログラムを使用する必要があります。CSV見積もりocaml-csv、またはあなた自身の...

おすすめ記事