web-dev-qa-db-ja.com

「検索」出力から複数のファイルを開く方法は?

私は次のようにディレクトリにある複数のファイルを開くことができることを知っています:

find -name *.foo -xargs <command> {} \;

これは機能しますが、geditで多数のテキストファイルを同時に開こうとすると、それらが連続して開かれます(1つのファイルが閉じられると、次のファイルが開かれます)。

これらのファイルをすべて同時に開きたいのですが。どうすればこれを達成できますか?

10
jottr

findを使用して一度に複数のファイルを操作するには、+の代わりに\;を使用します。

find . -name '*.foo' -exec gedit {} +

Zsh、またはshopt -s globstar~/.bashrcに入れた場合、bash≥4では、**/を使用してサブディレクトリに再帰できます。

gedit **/*.foo

Zshには、多くの glob qualifiers もあり、findのほとんどの使用法を置き換えることができます。

Mac OS X bashでは、次のように実行できます。

for file in $(find . -name "*.py"); do open -a SublimeText $file; done. 

1つの欠点は、新しいタブを使用する代わりにSublimeの新しいウィンドウで開くことです。

2
andilabs

この場合、あなたは使うことができると思います

find ./ -name \*.foo | xargs gedit
0
pbm