特定の文字を含むディレクトリにファイルリストを作成する

特定の文字を含むディレクトリにファイルリストを作成する

特定の文字が3番目の文字として含まれているフォルダ内のすべてのファイルを一覧表示したいと思います。各ファイルに対して削除や移動などの操作を行うことができます。 grep / cutオプションを使用してlsコマンドを調べましたが、処理できる最終リストを取得する方法がわかりません。

ありがとうございます。

答え1

検索コマンドを使用してファイルを検索し、各ファイルに対して個別に操作を実行することもできます。

find <directory_name> -name '??t*' -exec mv {} <target_directory> \;

答え2

外部プログラムを呼び出すことなく、シェルから直接いくつかのパターンマッチングを実行できます。

次のファイルを含むフォルダがあるとします。

$ ls
ant  bat  bird  cat  cats  dog  fish

次のように3文字で終わるファイルのみを一致させることができますt

$ ls ??t
ant  bat  cat

次のように、すべてのファイルを3番目の文字と一致させることができますt

$ ls ??t*
ant  bat  cat  cats

こちらの追加ドキュメントをご覧ください。 https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html

関連情報