2017-02-17 8 views
-3

2行目の単語とそれ以外の列の単語に一致する数字のテキストファイルがあります。単語が小文字で始まる行をすべて削除したい。私が使うことができる単一のコマンドはありますか?Bash:特定の列の大文字で始まる行をすべて選択する方法

ありがとうございます!

+2

この一般的なレベルでは、プログラミングに関する質問ではありません。あなたはおそらく 'grep'やAwkを探しています。 – tripleee

+0

'私は使うことができるコマンドはありますか? 'はい、そうです、あなたはgrepを使うことができます。 –

+0

テキストファイルには列がありません。 – choroba

答えて

1
$ cat test.txt 
1,abc,2 
3,Abc,4 
5,bcd,6 
7,Bcd,8 


$ awk -F "," '$2 ~ /^[A-Z]/{print "Col1 " $1 " Col3 " $3}' test.txt 
Col1 3 Col3 4 
Col1 7 Col3 8 

入力ファイルの形式を指定していないため、CSVとみなします。

AWK -Fフラグは、コンマで区切って表示されます。次にawkスクリプトで$ 1、$ 2、$ 3などのようにアクセス可能な列が得られます。

最初のawkフィルタは、2番目の列が正規表現/^[AZ] /に一致するようにします。 matchはprintステートメントを発行します。

+0

クール、ありがとう! – User2017

+0

Du Behoverは、ハートビートを実行します。 –

関連する問題