ディレクトリに特定のファイル名があるかどうかを確認するには? [閉鎖]

ディレクトリに特定のファイル名があるかどうかを確認するには? [閉鎖]

/opt/backup/多くのファイルを含むパスがあります。例:

100051
100052
100053 
etc.

100051 100052 100053ファイルが存在するかどうかを知りたいです/opt/backup/

ベストアンサー1

確認したいファイル名に対してlsを実行できます。たとえば、次のようになります。

$ ls -ld /opt/backup/10005{1,2,3}

ls: cannot access '/opt/backup/100052': No such file or directory
ls: cannot access '/opt/backup/100053': No such file or directory
-rw-r--r-- 1 root root 0 Jul  4 09:25 /opt/backup/100051

/opt/backup/100051この例では、存在するものと存在しない/opt/backup/100052ことがわかります/opt/backup/100053

  • -lオプションですが、より便利な出力があると思います。
  • -dディレクトリ内容の出力を防ぐことです

スクリプトで確認するには、次のようにします-f

for f in /opt/backup/10005{1,2,3}; do
  if [ -f "$f" ]; then
    echo "Exists: $f"
  else
    echo "Not Exists: $f"
  fi
done

出力:

Exists: /opt/backup/100051
Not Exists: /opt/backup/100052
Not Exists: /opt/backup/100053

おすすめ記事