linux - 从多个文件中删除重复行

标签 linux bash

我想将文件“text.txt”与特殊目录中的其他文件进行比较,并仅删除文件“text.txt”中的重复字符串。

我该怎么做?

最佳答案

假设文件位于“目标”目录中

perl -ne 'chomp;push (@x,$_);END{$ENV{R}= "^(".join("|",@x).")";system qq(perl -i.bak -pe "if (/\x0a/){s/$ENV{R}\x0a//g}else{s/$ENV{R}//g};" target/*)}' test.txt

小心!代码未经过充分测试,执行前请备份文件

关于linux - 从多个文件中删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478937/

相关文章:

linux - 在 CentOS 上更新 Apache Ant

mysql - gunzip 和 mysql 导入 - 没有这样的文件或目录

linux - 从 gzip 文件的开头剥离 bash 脚本

c++ - 如何使用 xcb 正确设置 utf8 窗口标题?

linux - bash 脚本中未显示参数

linux - 期望通过服务 token 的身份验证方法

linux - 如何使用文件内容作为命令行参数?

bash - bash 函数可以在不同的脚本中使用吗?

mysql - 在 bash 脚本中使用 NOT LIKE 命令时出错

linux - 抑制段错误信号