.log
file以外の拡張子を持つすべてのファイルを一覧表示したいと思いますbackup.log
。
私は次のコマンドを試しました。
ls *.log -I "backup.log"
ただし、すべてのログファイルが一覧表示されます。でもbackup.log
!
を除くすべてのログファイルをどのように一覧表示できますかbackup.log
?
答え1
シェルはワイルドカード文字を拡張して引数の1つとして含めますls
。backup.log
拡張モードを有効にするには(有効にしてくださいshopt -s extglob
):
ls !(backup).log
答え2
1つの可能性は次のとおりです。
find . -maxdepth 1 -mindepth 1 -name \*.log -a -not -name backup.log
つまり、現在のディレクトリまたはその下で正確な深さが1のすべてのファイルを探します(したがって、実際には現在のディレクトリ自体の名前ではなく現在のディレクトリのみ)*.log
。backup.log
答え3
TxR:
$ ls *.patch
install-tests.patch match.patch netbsd.patch specials.patch wlist.patch
$ txr -t '(glob "*.patch")'
install-tests.patch
match.patch
netbsd.patch
specials.patch
wlist.patch
$ txr -t '(set-diff (glob "*.patch") (glob "[mn]*.patch"))'
install-tests.patch
specials.patch
wlist.patch
答え4
ls
次の解析結果はどうですかgrep
?
ls -l *.log | grep -v backup.log