我试图通过Linux CLI在文件中查找邮箱地址来删除错误的邮箱.

我可以用它来获取文件

find . | xargs grep -l email@domain.com

但是我不知道如何从那里删除它们,因为下面的代码不起作用.

rm -f | xargs find . | xargs grep -l email@domain.com

谢谢你的帮助.

推荐答案

为了安全起见,我通常通过管道将find的输出传输到类似awk的东西,并创建一个批处理文件,每一行都是"rm filename"

这样,您可以在实际运行它之前判断它,并手动修复任何难以使用正则表达式的奇数边缘情况

find . | xargs grep -l email@domain.com | awk '{print "rm "$1}' > doit.sh
vi doit.sh // check for murphy and his law
source doit.sh

Linux相关问答推荐

如何在 if ... elif struct 中判断 bash 命令的退出状态?

计算与文件第一列对应的第二列中的字符串出现次数

使用 sed 或 awk 格式化文本

从父目录中删除目录而不删除父目录 (Linux)

删除一行和它之前的一行

为什么我的 Docker 进程不断在我的 Raspberry Pi 上重新启动?

当接收端未从套接字读取时,通过 Unix 套接字发送的消息会发生什么情况?

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

如何使用完整路径或文件名显示 grep 结果

安装 mod_ssl 亚马逊 Linux

通过 Linux FrameBuffer 将像素绘制到屏幕上

如何在 Linux 中为 C 或 C++ 的进程设置 CPU 亲和性?

有没有办法在整个项目代码中的某个日期之后找出更改的文件?

如何在 Linux 中查找所有以 .rb 结尾的文件?

bashrc 在运行 bash 命令之前不会加载

将 CMake 项目导入 Eclipse CDT

rm 没有释放磁盘空间

如何在 shell 脚本中向文件中添加一行?

根据文件名模式和文件内容列出文件名?

Linux控制台中的模糊文件搜索