我正在比较两个文件并显示不相似的行, 当我保持
echo $(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2)
我能够获取值。
当我尝试通过传递给array来做同样的事情时,出现“:command not found”错误
declare -a myarr=()
myarr=$("$(awk 'FNR==NR{f[$0]+=1; next} !($0 in f)' $file1 $file2 )")
请帮助,谢谢。
答案 0 :(得分:2)
删除报价加前导美元:
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}")