sed 命令删除冒号后面的所有内容

sed 命令删除冒号后面的所有内容

我有包含/不包含短语的文本文件集合(B 核心文件)。

然后我尝试了这个:

sudo find / -type f -name core | xargs file | grep 'B core file' | sed 's/:ELF.*//g' | xargs rm -f 

删除带有短语“B 核心文件”的特定文件

但该命令不起作用。

我希望得到解决方案。非常感谢。

答案1

只有 find 命令会以 root 权限运行。rm 将以您的用户 ID 运行,因此会失败。将整个命令放入脚本中,然后使用 sudo 运行该脚本。

您还可以为每个命令使用额外的 sudo,以访问您可能无法读取或写入的文件:

sudo find / -type f -name core | xargs sudo file | sudo grep 'B core file' | sed 's/:ELF.*//g' | xargs sudo rm -f 

答案2

这看上去太复杂了。

尝试:

grep -l'B 核心文件'*|xargs rm

运行时,它将从您所在的目录中删除包含“B 核心文件”的文件。

相关内容