失われたファイルを表示できるコマンドラインは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

または1行で:

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シェルを使用)。

comm -13 <(ls) <(seq -f '%03d.mat' 0 73)

関連情報