次の内容を含む f1.txt ファイルがあります。
file1 file2
file3 file4
file1の内容は次のとおりです。
student1 10
student2 20
ここで、f1.txtから最初の列を取得し、awkを使用してfile1の内容を印刷しようとしています。私はそれを試しましたが、うまくawk '{print $1}' f1.txt | cat $1
いきませんでした。 file1の内容を取得するために使用できる簡単な方法はありますかawk
?
答え1
これは、awkのデータに対して処理を行わずにawkを使用してデータを選択するだけで、xargsに適しています。例:
awk '{ print $1; }' | xargs cat
これは、catの複数の引数を収集するxargsに比べて利点があるため、system
より効率的です。
答え2
awk
ここで関数を呼び出してsystem
外部コマンドを実行できます。
awk '{system("cat "$1)}' f1.txt
file1
または代わりにコンテンツを印刷したい場合file3
:
awk 'NR==1{system("cat "$1)}' f1.txt