2

私はこのコードを持っています

[motaro@Cyrax ]$ awk '{print $1}' awk1.txt awk2.txt
line1a
line2a
file1a
file2a

両方のファイルのccolumnsが表示されます

$1(of file 1)どうすれば、$1(of file2)別々に見つけることができますか

4

3 に答える 3

1

上記のコメントのように、3つ以上のファイルの場合、次のような条件を設定します。

FILENAME == ARGV[1]

例えば:

awk 'FILENAME == ARGV[1] { print $1 } FILENAME == ARGV[2] { print $1 } FILENAME == ARGV[3] { print $1 }' file1.txt file2.txt file3.txt

または、ファイルのグロブがある場合:

条件を次のように変更します。

FILENAME == "file1.txt"

例えば:

awk 'FILENAME == "file1.txt" { print $1 } FILENAME == "file2.txt" { print $1 } FILENAME == "file3.txt" { print $1 }' *.txt

また、変数ARGCおよびARGVについて詳しく読むこともできます。さらに説明が必要な場合はお知らせください。乾杯。

于 2013-01-10T06:04:47.987 に答える
0
awk 'NR==FNR{a[FNR]=$0;next} {print a[FNR],$0}' file_1 file_2

ここで見つかりました

于 2013-01-10T03:48:40.297 に答える
0

何が必要か正確にはわかりません。おそらく、事前定義された変数が必要です:FILENAME

awk '{print $1,FILENAME}' awk1.txt awk2.txt

上記のコマンドは次のように出力します。

line1a awk1.txt 
line2a awk1.txt 
file1a awk2.txt 
file2a awk2.txt
于 2013-01-10T06:23:33.677 に答える