file1,每行包含一个字符串。我想检查 file2 的第二列中是否存在每个字符串。file2 每行包含两个以空格分隔的字符串,但有些行可能在第一列之前有前导空格。
我只想使用 grep 和/或 cut 来执行匹配并将匹配的行从 file2 输出到 newFile.txt,确保整个单词匹配(-w)。
我试过了
grep -wF -f file1 file2 > newFile.txt
但由于文件大小,终端无限运行。
我也尝试过
grep -wF -f <(cut -d ' ' -f 2 file2) | grep -wF -f - file2 > newFile.txt
这只对 file2 中的某些行有效,因为某些行在 2 个字符串之前有多个空格,尽管这些字符串仅由一个空格分隔。
文件1:
aaa
bbb
ccc
文件2:
a aaa (should match)
b bbb (should match and does but the former spaces throws off cut -d, resulting in incomplete output of line in the newFile.txt)
c cc (should not match)
问题:如何高效地提取并匹配 file2.txt 第二列中的整个单词,同时处理不一致的前导空格?我更喜欢使用 grep 和/或 cut,但我愿意接受一些小的修改。