たとえば、すべてのディレクトリの内容を印刷するなどの操作を行うことは可能ですか。また、たとえば、 を除くすべてのファイルを印刷するために、ls -l *
例外を追加します。test.cpp
test.cpp
答え1
有効にしている場合は、glob を使用して実行できますextglob
。次のように有効にできます。
shopt -s extglob
次のように使用できます:
ls -l !(test.cpp)
また、他の方法でも使用できます。
ls -l !(*.jpg) # list all files that don't have .jpg extensions
これはシェル グロブなので、他のコマンドでも使用できます。ただし、副作用として、サブディレクトリが明示的にリストされるため、サブディレクトリls
もリストされます。ただし、これは次のように簡単に処理できます。
ls -ld !(test.cpp)
答え2
これを行うための古典的な(素朴な?)方法は
ls -l * | grep -v test.cpp
しかし、ラマーがコメントしたように、GNUにはls
特定のファイル名を無視するオプションがある。
ls -l -I test.cpp *
注記はls -l *
現在のディレクトリ内のファイルを一覧表示しますおよび第1レベルのサブディレクトリ内のファイル。ls -l
*