パイプ(|)で区切られたデータを含むフォルダがあります。ファイル名とともに、フォルダ内の各ファイルの最初の行の8番目の列のリストが必要です。これらすべてのデータを1つのファイルにまとめることができれば良いでしょう。
ベストアンサー1
ファイルを転送するには、awk
シェル globstar を使用できます。必要な-F
フィールド区切り文字を定義するために使用できます。-F'|'
最初の行だけを取得する場合は、次のものを使用するだけでnextfile
十分です。だから私たちはこれを行うことができます:
awk -F'|' '{print FILENAME,$8;nextfile}' ./*
ファイルがあるフォルダーから。
nextfile
サポートされない可能性があることを確認してください。たとえば、Stephaneが指摘したように、Debianとその派生製品にはオプションのmawk
ない古いバージョンが付属していますnextfile
。より移植可能なawkコードが必要な場合は、変数を利用できますFNR
。たとえば、
awk -F'|' 'FNR==1{print FILENAME,$8}' ./*