我想从另一个文件中删除包含字符串的文件中的所有行。所以我不想删除相同的行,没有,但如果它们共享另一个文件中的字符串,则删除所有行。并将其他文件中不包含字符串的行写入新文件。例子:
文件A:
bird, snake
dog, cat
rabbit,fox
eagle,dove
Run Code Online (Sandbox Code Playgroud)
文件乙:
dog
dove
Run Code Online (Sandbox Code Playgroud)
结果文件:
bird,snake
rabbit,fox
Run Code Online (Sandbox Code Playgroud)
请帮忙。
非常感谢。
使用以下grep表达式:
grep -vFf file_B file_A
Run Code Online (Sandbox Code Playgroud)
这是一个测试:
$ cat file_A
bird, snake
dog, cat
rabbit,fox
eagle,dove
$ cat file_B
dog
dove
$ grep -vFf file_B file_A
bird, snake
rabbit,fox
Run Code Online (Sandbox Code Playgroud)
-f将从文件中读取模式(每行一个),file_B在这种情况下 -F会将读取的模式file_B视为固定字符串,这意味着不会对模式进行进一步的模式操作-v将打印不匹配的行,即file_A不包含来自file_B.| 归档时间: |
|
| 查看次数: |
2880 次 |
| 最近记录: |