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

シェルの再帰ディレクトリにある特定の種類のファイルを一覧表示する方法は?

find . | grep "\.doc$"

これにより、パスも表示されます。


ls コマンド出力は、主に人間による読み取りを目的としています。自動処理のための高度なクエリには、より強力な find を使用する必要があります コマンド:

find /path -type f \( -iname "*.doc" -o -iname "*.pdf" \) 

あたかも bash 4.0++ を持っているかのように

#!/bin/bash
shopt -s globstar
shopt -s nullglob
for file in **/*.{pdf,doc}
do
  echo "$file"
done

「ls」と「grep」に慣れている場合は、grep コマンドで正規表現を使用して、必要なことを行うことができます (末尾の「$」文字は、.doc が行末にある必要があることを示しています。 "file.doc.txt" を除外):

ls -R |grep "\.doc$"

man での正規表現での grep の使用に関する詳細情報。


Linux
  1. PDFファイルをgrepする方法は?

  2. パターンに一致する特定のファイルを検索する方法は?

  3. すべてのファイルとディレクトリを再帰的に一覧表示する方法

  1. 特定のタイプのファイルのみのディレクトリをどのように比較しますか?

  2. zip内のディレクトリのリストを取得するには?

  3. recursive grep:特定のディレクトリを除外します

  1. 2 つのディレクトリにまたがるすべての一意のファイルを検索/一覧表示する方法は?

  2. 特定のユーザーが書き込み可能なすべてのファイルとディレクトリを見つけるにはどうすればよいですか?

  3. Linux - 特定のタイプのパーティションを一覧表示する方法は?