読み取り可能なファイルの一部を選択するには、cut または awk を使用します。

読み取り可能なファイルの一部を選択するには、cut または awk を使用します。

私は人の名前、電話番号、住所など、他の多くの情報を含むファイルを作成しました。そのリストの全員の名前だけを選択する方法がわかります。

このリストには、人が複数の名前を持つことができる列はありません(名前と姓だけでなく中間名も意味します)。各行の形式は次のとおりです。

student number,,,Name_of_student,,,address

たとえば、

a684932,,,John Liam Anderson,,,Kentucky
a683910,,,Mary Reynold,,,Michigan
...
...

出力は次のようになります。

John Liam Anderson 
Mary Reynold 

答え1

あなたのデータはカンマ区切り値(CSV)形式のようです。

CSVファイルが「単純」の場合、つまり、カンマ区切りフィールドにカンマ付きの文字列が含まれていない場合、名前が常にフィールド4にある場合(例入力のように)、フィールド区切り記号として次をawk使用します,。スクリプト:

awk -F',' '{print $4}' file.txt

フィールド値に次のものを含めることができる場合,(たとえば、名前がitの場合)、John Liam Anderson, jr.この素朴なアプローチはもう機能しません。 CSV形式を定義する「権限のある」標準がないため(オープンソースソフトウェアはそれに従う可能性が高いですが)RFC4180)、したがって、これらの文字列の処理は、「フィールド値コンマ」をエスケープする方法によって異なります。

関連情報