GNU/Linux >> Linux の 問題 >  >> Linux

コマンドの結果として指定されたファイルを vim で開く

コマンド置換を使用できます:

vim $(find -name somefile.txt)

または

find -name somefile.txt -exec vim {} \;

これを試してください:

<オール>
  • vim を起動
  • vim では、次を使用します:
  • :r!find /<path> -name 'expression'

    検索が完了すると、結果が vim に表示されます。

    または

    試してみてください:

    find /<path> -name > results.txt
    vim results.txt 
    

    コマンドを再度実行しても構わない場合:Up を押します。 xargs を追加します 指図。または履歴置換を使用して実行

    !! | xargs vim          # won't work with file names containing \'" or whitespace
    !! | xargs -d \\n vim   # GNU only (Linux, Cygwin)
    

    ksh と zsh では機能するが bash では機能しないコマンドの出力を保存する軽量な方法があります (パイプラインの出力側を親シェルで実行する必要があります)。コマンドを関数 K にパイプします。 (以下の zsh 定義)、これ k 出力を変数 $K に保存します .

    function K {
        K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
    }
    find … |K
    vim $K
    

    各コマンドの出力を自動的に保存することは、シェルだけでは実際には不可能です。エミュレートされた端末でコマンドを実行する必要があります。 script 内で実行することで実行できます (BSD ユーティリティですが、Linux や Solaris を含むほとんどの unices で利用可能です)。これは、セッションのすべての出力をファイルに保存します (typescript の最後のプロンプトを確実に検出するには、まだ少し努力が必要です)。


    Linux
    1. イオリダイレクションとヘッドコマンド?

    2. Xdg-openコマンドは、ファイルを開くために使用するアプリケーションをどのように認識しますか?

    3. 特定のコマンドに対応する実行可能ファイルを見つけるための unix コマンドは何ですか?

    1. ファイルの内容をコマンド「echo」にリダイレクトしますか?

    2. Lsコマンドの結果の補足を取得しますか?

    3. パイプを使用してvimでファイルを開く方法

    1. ファイルが開いているVim/tmuxを見つけることは可能ですか?

    2. Linuxでのファイルコマンドの基本的な例

    3. LinuxでのSplitコマンドの9つの便利な例