Pau*_*aul 6 unix shell-script bash-scripting
我在目录中有一系列文件,我需要使用脚本执行操作。操作完成后,我想保留文件已处理的日志,以便下次运行脚本时,它不会再次尝试执行操作。
所以可以说我可以找到所有应该像这样处理的文件:
for i in `find /logfolder -name '20*.log'` ; do
process_log $i
echo $i >> processedlogsfile
done
Run Code Online (Sandbox Code Playgroud)
所以我有一个包含我处理过的日志的文件,我的目标是修改 for 循环,这样这些处理过的日志就不会被第二次处理。
每次手动扫描似乎效率低下,尤其是当处理的日志文件变大时:
if grep -iq "$i" processdlogfiles ; then continue; fi
Run Code Online (Sandbox Code Playgroud)
如果在设置 for 循环时可以排除这些文件,那就太好了。
请注意,有问题的操作系统是 linux 衍生产品,一个管理设备,具有有限的工具集(attr例如没有命令),因此无法安装其他实用程序(这是可能的,但不是一个选项)。不过,大多数常见的 bash shell 命令都可用。
此外,已处理文件的文件名和位置必须保持原样 - 不能更改它们以反映其处理状态