我将这些文件放入一个文件夹中:
Enero.01200.2019.txt
Enero.01200.2019.pdf
Enero.01200.2019.png
Febrero.03100.2019.txt
Febrero.03100.2019.pdf
Febrero.03100.2019.png
在每个 .txt 文件中,我有一个值表明订单未付款,我需要清除未付款订单的日志文件夹,例如,我在运行前使用此命令对 output.sh 进行检查:
find /log/users/ -name '*.txt' | xargs grep -l unpaid | awk '{print "mv "$1" /tmp/ }' >> clearlog.sh
我需要的是打印例如:
mv /log/users/Enero.01200.2019.txt /tmp/ && mv /log/users/Enero.01200.2019.pdf /tmp/ && mv /log/users/Enero.01200.2019.png /tmp/
如果有人有更好的方法,但要求确认或看看会发生什么,我会很感激。
大约有 2,500 个文件要清除,我不会乱删除错误的文件。
注意:所有 txt 文件都有一个 PDF 和 PNG 相关文件。我在 ubuntu 20.04 服务器上工作
提前致谢!
如果所有文件都在一个目录级别,建议一个简单的 shell 循环,根据
grep
退出状态有条件地移动文件,比如echo
(一旦你很高兴它在做正确的事情,就删除它)。如果您需要使用 递归地下降父目录
find
,那么类似