我有几百个输出文件,其中一些包含错误消息。假设我想自动将所有包含字符串“ERROR_1”的文件放入“subfolder_1”中,其余文件放入第二个“subfolder_2”中。这应该可以通过管道 grep 来实现。什么是有用的语法?
答案1
for a in *;do grep -q ERROR_1 "$a" && mv "$a" subfolder_1 || mv "$a" subfolder_2;done
这应该可行。
答案2
*
此脚本会将文件移动到子文件夹中。根据需要修改通配符(例如*.log
)-此代码将搜索当前目录中的所有文件
for f in *
do
grep -f ERROR_1 "$f"
if [ $? -eq 0 ]; then
mv "$f" subfolder_1
else
mv "$f" subfolder_2
fi
done