答案1
此命令检查文件是否存在:
test -f file
[[ -f file ]]
您可以根据这些消息的返回值回显消息:
test -f file || echo file does not exist
要检查多个文件,可以使用for
循环:
for f in {000..073}.mat ; do
[[ -f $f ]] || echo $f does not exist
done
或者作为单行:
for f in {000..073}.mat ; do [[ -f $f ]] || echo $f is missing; done
答案2
cd yourfolder
for file in {001..099}; do
[ -e "$file.mat" ] && echo $file.mat || echo "Warning: $file.mat is missing"
done
将 99 更改为您期望的文件数......
答案3
如果您知道文件的上限,则:
for i in {000..074}
do
if [ -f "$i.mat" ]
then
echo "$i.mat exists"
else
echo "$i.mat doesn't exists"
fi
done
您可以echo
根据自己的意愿修改命令。
答案4
带壳zsh
:
files=(<->.mat)
expected=({000..073}.mat)
missing=(${expected:|files})
printf ' - %s\n' $missing
对于像这样的简单名称的文件,您也可以使用comm
(此处使用 ksh、zsh 或 bash shell):
comm -13 <(ls) <(seq -f '%03d.mat' 0 73)