2

我有这个代码

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

它显示了两个文件中的 ccolumns

我怎样才能找到$1(of file 1)and $1(of file2),分别

4

3 回答 3

1

根据上面的评论,对于三个或更多文件,设置条件如下:

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

我不确定你到底需要什么。可能您需要预定义的变量: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 回答
0
awk 'NR==FNR{a[FNR]=$0;next} {print a[FNR],$0}' file_1 file_2

这里找到

于 2013-01-10T03:48:40.297 回答