File.txtというファイルがあるとしましょう。その中には、viで編集したいファイルの名前があります。ファイルを編集できるように、次のようなことをしたいと思います。
cat file.txt | vi
ただし、それは機能しません。どうすればそれができますか?
物事を明確にするために:
File.txtの内容は次のとおりです。
textfile
そこで、vi textfile
と入力したときと同じことが起こるように、どういうわけかfile.txtの内容をviに送信したいと思います。
File.txtの内容は変更される可能性があります。 file.txtにリストされているファイルをviで編集したい。
あなたはこれを試すかもしれません:
% vi `cat file.txt`
または、猫の使用を避けるために:
% vi `< file.txt`
あなたはvi(m)に恣意的なことの束を伝えているだけです。 vi(m)に「ねえ、そのファイルを開く」のようなことをさせたい場合は、vi(m)で使用するのと同じコマンドをフィードする必要があります。何かのようなもの :e foo.txt
。しかし、それは私が提案したことをするよりも複雑です。
少なくともvim(viについてはよくわかりません)については、次のことができます
cat file.txt | vim -
'-'はvimにstdinから読み取るように指示します。