awkは、データが3つではなく単一の列にあるパイプで区切られた値ファイルを開きます。

awkは、データが3つではなく単一の列にあるパイプで区切られた値ファイルを開きます。

PSVtest1.psvファイルには、次の3つのデータ列が含まれています。アッ、単一の列にデータを表示します。

xxxx|0001|rose  
yyyy|8768|lotus  
fgsh|6543|lilly  

print $1実際、これは3つの列を持つ「|」で区切られたファイルでなければなりませんが、以下のようにすべての列を最初の列にインポートすると

cat test1.psv |awk '{print $1}'

出力:

xxxx|0001|rose
yyyy|8768|lotus
fgsh|6543|lilly

ただし、結果は次のようになります。

xxxx
yyyy
fgsh

その場合、print $2結果は次のようになります。

0001
8768
6543

ベストアンサー1

フィールド区切り文字を次の|ように設定する必要があります(必要はありません)。-Fcat

$ awk -F '|' '{print $1}' test1.csv
xxxx
yyyy
fgsh
$ awk -F '|' '{print $2}' test1.csv
0001
8768
6543
$ awk -F '|' '{print $3}' test1.csv
rose
lotus
lillyw

(参考$としてコマンドラインプロンプト コマンドの一部ではなく、新しい行の開始を示すために使用されます。

-Fとして任命POSIXそして携帯性が必要です。

おすすめ記事