2016-07-01 3 views
0

私は頻繁にラテックスを使用していますが、.texと.pdfを除いてpdflatexによって生成されたすべての余分なファイルを除外するlsエイリアスを作成したいと考えています。 "^"オプション付きの単一のパターンを使用すると、いくつかのパターンを入力すると、個々のコマンドとしてそれぞれ実行され、その結果、各パターンに一致しないファイルが複数回リストされます。単一のlsコマンド(zsh内)でいくつかのパターンを省略するにはどうすればよいですか?

zshで1つのコマンドで複数のパターンを一度に省略する方法はありますか?

答えて

0

あなただけ

ls --hide=*.aux --hide=*.log

しかし、覚えて、この表現マッチング正規表現されていませんでした。それはグロビングです。

+0

ないすべてのバージョン。 – chepner

1

KSH_GLOBが有効になっていることを確認してください。

% setopt KSH_GLOB 
% touch foo.{tex,aux,log,pdf}  
% ls foo.!(aux|pdf) 
foo.pdf foo.tex 
0

あなたは(...|...)を持つグループのパターンをすることができますし、^、そのうちの最後にグループ化されたパターンを否定するには、設定するEXTENDED_GLOBが必要です。たとえば:

ls ^*.(aux|log) 

これは*.auxまたは*.logに一致する名前を持つファイル以外のものと一致します。その他の除外パターンを追加|を連鎖させることができます: `ls`サポート` --hide`の

ls ^*.(aux|log|toc|dvi) 
関連する問題