如果第1列或第5列中的数字在file1中,我正在尝试使用尴尬打印一个文件2中的行,但是我会遇到我遇到的语法错误我不'理解。
我的输入是:
file1.dat
1
3
4
6
8
13
14
25
etc...
file2.dat
2 GLU 1 - 3 ARG 2
24 ASP 2 - 12 LYS 1
3 ASP 1 - 25 ARG 2
7 LYS 2 - 17 GLU 2
18 ARG 1 - 13 GLU 2
etc...
在这种情况下,我想要输出
2 GLU 1 - 3 ARG 2
3 ASP 1 - 25 ARG 2
18 ARG 1 - 13 GLU 2
我试图使用以下尴尬行
进行此操作awk -F 'NR==FNR{a[$1||$5]++;next} (a[$1||$5])' file1.dat file2.dat
,但我得到了错误
awk: file1.dat
awk: ^syntax error
有人知道是什么原因导致此错误?我试图将文件名放入变量中,但会产生相同的错误。
您已经为场分离器提供了-F
标志。因此,下一个参数是字段分隔符(这是您的脚本,因为您没有提供Semperator)。因此,尴尬将第一个文件作为脚本本身。
尝试丢弃-F
或添加分离器,例如awk -F '[ t]*' '...' file1 file2
。