我正在尝试编写一个 bash 脚本,它可以清除我整个服务器中已经存在于我客户端文件夹中的垃圾邮件。我需要这个脚本来做,
递归检查目录 /var/qmail/mailnames/* 中的关键字数组,如果找到带有关键字的文件,则上升两级并将文件移动到那里。
我已经开始写类似的东西了,但它不能按我的需要工作。首先,我得到了参数列表日志。
grep -lir 'discount' /var/qmail/mailanmes/* | xargs mv -t /var/qmail/
答案1
问题出在你的通配符模式上。/var/qmail/mailanmes/*
扩展为太长的命令行。你应该做的是:
find /var/qmail/mailnames -regex '.*discount.*' -print0 | xargs -0 mv -t /var/qmail