GNU/Linux >> Linux の 問題 >  >> Linux

find コマンドで何も見つからなかったかどうかを確認する方法は?

出力された行数をカウントして変数に格納し、テストします:

lines=$(find ... | wc -l)
if [ $lines -eq 0 ]; then
...
fi

find を使用したい コマンド内部 if 条件 、この 1 つのライナーを試すことができます:

 [[ ! -z `find 'YOUR_DIR/' -name 'something'` ]] && echo "found" || echo "not found"

使用例:

 [prompt] $ mkdir -p Dir/dir1 Dir/dir2/ Dir/dir3                 
 [prompt] $ ls Dir/
 dir1  dir2  dir3
 [prompt] $ [[ ! -z `find 'Dir/' -name 'something'` ]] && echo "found" || echo "not found"
 not found
 [prompt] $ touch Dir/dir3/something
 [prompt] $ [[ ! -z `find 'Dir/' -name 'something'` ]] && echo "found" || echo "not found"
 found

exit 0 は find で簡単ですが、exit>0 は通常エラーが発生した場合にのみ発生するため、より困難です。しかし、私たちはそれを実現することができます:

if find -type f -exec false {} +
then
  echo 'nothing found'
else
  echo 'something found'
fi

Linux
  1. LinuxでアクティブなSSH接続を見つける方法

  2. findコマンドを使用して権限を監査する方法

  3. 検索:コマンドが見つかりません

  1. Grepコマンドを使用してファイル内のテキストを検索する方法

  2. Linuxシステムが32ビットか64ビットかを確認する方法

  3. エコー:コマンドが見つかりません

  1. 検索コマンドの後にMvコマンドを統合する方法は?

  2. 最大のファイル記述子を持つプロセスを見つける方法は?

  3. find でディレクトリを除外する方法。指図