「find」と「nano」コマンドを組み合わせる方法

「find」と「nano」コマンドを組み合わせる方法

「find」コマンドと「nano」コマンドを組み合わせる方法は?

例えば、

find . -name "helloworld.py" | nano

「nano」(関数を使用せずに1行リンクコマンドを使用して)を使用してファイルを見つけたら、このファイル(おそらく複数の最初のファイル)をどのように開くことができますか?

答え1

最初のファイルのみを編集するには、

find . -name helloworld.py -exec nano {} \; -quit

これにより、名前付きファイルが検索されhelloworld.py、見つかった各ファイルに対して実行され、終了nano /path/to/helloworld.pyします(最初のファイルのみが処理されることを意味します)。

一致するすべてのファイルを編集するには、

find . -name helloworld.py -exec nano {} +

nanoコマンドラインに合うだけ多くのファイルを実行します。CtrlX各ファイルを順番に閉じるために使用されます。

答え2

必ずしもそうではなく、オプションをfind有効にすることもできます。globstar

shopt -s globstar
nano **/helloworld.py

障害のあるglobstarshopt -u globstar

答え3

スペースを気にしない場合:

nano $(find . -name helloworld.py)

関連情報