ファイル名で指定された文字列と一致しないファイルのリスト

ファイル名で指定された文字列と一致しないファイルのリスト

temp_log.$$確認する必要がある他のいくつかの重要なファイルとともに、その名前を持つ多くのファイル(約200個)が生成されるディレクトリがあります。

temp_log.$$すべてのファイルを簡単に一覧表示し、表示されたファイルを除外する方法は?

期待される出力

$ ls -lrt <exclude-filename-part>
-- Lists files not matching the above given string

lsマニュアルページを見ましたが、この参考資料には何もありません。ここで重要な情報を見逃した場合はお知らせください。

ありがとう

ベストアンサー1

GNU ls(組み込みのLinuxおよびCygwinのバージョン、時には他の場所でも見つかるバージョン)を使用すると、ディレクトリを一覧表示するときに特定のファイルを除外できます。

ls -I 'temp_log.*' -lrt

-I(isの長い形式に注意してください--ignore='temp_log.*'

zsh を使用すると、シェルにフィルタリングを実行させることができます。一致するディレクトリの内容を一覧表示したくない場合は、を渡してください-dls

setopt extended_glob          # put this in your .zshrc
ls -dltr ^temp_log.*

ksh、bash、またはzshを使用すると、kshフィルタ構文を使用できます。 zshでsetopt ksh_glob最初に実行します。 Bashでは、shopt -s extglobまず実行してください。

ls -dltr !(temp_log.*)

おすすめ記事