我试图运行搜索命令来从file1查找字符串并在file2中找到它们。然后我想只打印file1中未找到的文件中的字符串。
File1将类似于:
read
write
access
File2将是:
0xFF88 T write
0xFF87 t xyzwrite
0xFF86 T read
0xFF85 T xyzread
0xFF84 T xyzaccess
所以期望的结果是:
access
***注意,我确实在File1中的所有字符串中添加了一个空格,以便不包括作为另一个字符串一部分的字符串的每次出现。
我试过了:
grep -vf file1 file2
并从file2获取除写入和读取行之外的所有结果,包括地址。
我试过了:
grep -vf file2 file1
并获取所有file1,因为整行file2永远不会出现在file1中。
我试过了:
diff file1 file2 | grep \^|<
并使用&lt;来获取所有file1在每一行。
有人告诉我,如果我可以删除file2中每行的前8个字符,那么diff / grep命令就可以了。
我也尝试过使用各种选项的findtr(Windows),再次,我无法让它工作。
另外,请注意每个文件的行数比我显示的要多得多。
有什么想法吗?
答案 0 :(得分:0)
你可能需要做一个循环:
for i in $(cat File1); do
grep -q "\<$i\$" File2 || echo $i
done
这将打印出来:
access