我有两个文件:
cat A.txt
5000000000000022805787
5000000000009228662688
5000000000009253546657
cat B.txt
22805177, 22805179
9228662680, 9228662689
22805787, 22805789
输出:
9228662680, 9228662689
22805787, 22805787
我想从B.txt中查看A.txt中的数字(在零之后)。我有一个代码,但没有显示输出。
awk '{anum=substr($1,3,19); sub(/^0+/, "", anum); print anum}' A.txt | grep -nf B.txt
PS
anum:
2280578
922866268
925354665
答案 0 :(得分:1)
您缺少一个短划线来指定该文件来自管道
awk '{anum=substr($1,3,19); sub(/^0+/, "", anum); print anum}' A.txt | grep -f - B.txt
此输出
9228662680, 9228662689
22805787, 22805789
答案 1 :(得分:0)
你应该以相反的方式做这件事。
您需要使用awk
生成的模式进行搜索。所以你可以写点像
$ grep "$(awk '{anum=substr($1,3,19); sub(/^0+/, "", anum); print anum}' a)" b
9228662680, 9228662689
22805787, 22805789
PS 您可以使用awk
完全执行此操作。