Linux 如何在shell脚本中将awk输出到数组中
我正在比较两个文件并显示不相似的行, 当我保持Linux 如何在shell脚本中将awk输出到数组中,linux,shell,awk,Linux,Shell,Awk,我正在比较两个文件并显示不相似的行, 当我保持 echo $(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2) 我能够得到这些值 当我试图通过传入数组来执行相同操作时,我得到了“:command not found”错误 请提供帮助,提前感谢。删除报价和领先美元: myarr=$("$(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2 )") 应该是 myarr=($(a
echo $(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2)
我能够得到这些值
当我试图通过传入数组来执行相同操作时,我得到了“:command not found”错误
请提供帮助,提前感谢。删除报价和领先美元:
myarr=$("$(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2 )")
应该是
myarr=($(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2))
检查:
顺便说一句,您的awk命令不会打印file1特有的行。可能您需要的是
comm
命令,但请注意comm
需要排序输入:
comm -13 <(sort "${file1}") <(sort "${file2}")
comm-13您为什么要执行+=1
?代码中没有任何内容在以后使用它。
comm -13 <(sort "${file1}") <(sort "${file2}")