Linux 上有没有命令行可以查看丢失的文件?

Linux 上有没有命令行可以查看丢失的文件?

Linux 上有没有命令行可以查看丢失的文件。我在 MobaXterm 的终端文件夹中有一个从 000 到 073 开始的文件列表。但正如您在下图中看到的那样,070 丢失了。谢谢

在此输入图像描述

答案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)

相关内容