2017-08-29 7 views
1

lsコマンドを使用して、ディレクトリ内の特定のサブディレクトリを一覧表示しようとしています。特定の名前の規則のlsコマンド

サブディレクトリには、以下の命名規則があります。

abc.wiki.git 
abc.git 
cde.wiki.git 
cde.git 
fgh.wiki.git 
fgh.git 

私は名前だけの中に「ウィキ」を持っていないサブディレクトリの一覧を表示したいと思います。あなたが言ったサブフォルダのすべてを見たい場合は

+3

[リストがパターンに一致しないファイル?](https://stackoverflow.com/questions/8525437/list-files-not-matching-a-pattern)の可能性のある重複 – bishop

答えて

0

あなたが使用できます。

ls | grep -v wiki | xargs ls 

はあなたが各サブディレクトリ内で表示したくない場合だけ使用します。

ls | grep -v wiki 
+0

なぜ '| xargs ls'? – axiac

+0

@axiac私は彼が名前の中にwikiなしで各gitフォルダを見たいと思った? –

+1

結果を 'xargs ls'にパイプする良い理由は、フラグを指定して' ls'を呼び出すことです。最初の 'ls'はファイルとディレクトリ名だけを表示し、' ls'は '-a'を使って呼び出すことができます。 – axiac

1

私は考えますこのユースケース、findはもっと巧妙です。

$ find . -type d -not -name "*wiki*"

関連する問題