【发布时间】:2017-02-19 11:42:39
【问题描述】:
我正在尝试运行搜索命令以从 file1 中查找字符串并在 file2 中找到它们。然后,我只想打印 file1 中未在 file2 中找到的字符串。
File1 类似于:
read
write
access
文件 2 将是:
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 \^|<
并让所有 file1 在每一行都以
有人告诉我,如果我可以删除 file2 中每一行的前 8 个字符,那么 diff/grep 命令就可以工作。
我还尝试了具有各种选项的 findstr (Windows),但还是无法正常工作。
另外,请注意每个文件的行数比我显示的要多。
有什么想法吗?
【问题讨论】:
-
如果 file1 有其他文本,请添加虚拟字符串,否则给出的解决方案可能对您不起作用...并说明要比较 file1 和 file2 之间的哪些列..
标签: linux string search grep findstr