您好,感谢您提供的帮助。我试图完成一个简单的检查,以查看文件夹是否包含.log中的任何文件。如果它确实包含任何以.log结尾的文件,只需将其复制到另一个文件夹即可。我确实试过像
这样的东西if [ -f /path/to/log/*.log ]; then cp -a /path/to/log /path/to/backup/folder; fi
但这并没有给我任何足够干净的东西。
非常感谢
答案 0 :(得分:1)
您可以使用bash数组:
shopt -s nullglob # Expand to the empty string if no files are found
logfiles=( /path/to/log/*.log )
cp -a "${logfiles[@]}" /path/to/backup/
或POSIXLY_STRICT方法:
cpIfExists() {
if [ -f "$1" ]; then
cp "$@"
fi
}
cpIfExists /path/to/log/*.log /path/to/backup/
答案 1 :(得分:0)
您不需要先检查,只需复制文件:
cp /path/to/log/*.log /path/to/backup/folder
答案 2 :(得分:0)
没有任何东西可以测试这是否有效,但它应该:
for log in `ls /path/to/log | grep .log`; do
cp /path/to/log/$log /path/to/backup/folder/
done