我正在尝试编写一个bash脚本,它打印路径$ 1中的所有文件,这些文件的修改时间晚于$ 2。这是我的剧本:
find ./$1 -mtime -$2 -type f | xargs du -h | sort
现在,如果脚本没有返回任何结果,我希望它打印一条错误消息,例如"找不到这样的文件"。当且仅当没有找到文件名时才能打印消息&印刷?
提前致谢。
答案 0 :(得分:2)
您可以使用:
#!/bin/bash
# create a temp file
tmp=$(mktemp)
# run find and redirect output to temp file
find ./"$1" -mtime -"$2" -type f > "$tmp"
# check if temp file is not empty
if [[ -s "$tmp" ]]; then
cat "$tmp"
else
echo "No such files found"
fi
# delete temp file
rm "$tmp"