使用管道命令输出中的 vim 打开文件
Open a file using vim from the output of pipe command
我有一个文本文件 abc.txt
中的文件列表。
我必须从文件中读取第 n 行并使用 vim 打开文件。
我已经这样做了,但是第 n 行的文件打不开:-
sed -n 4p abc.txt | vim -
尝试从 abc.txt
获取第 4 行并使用 vim 打开它。但是我得到的输出是该特定行号处的文件内容:-
正确的命令应该是这样的:
vim "$(sed -n 4p abc.txt)"
不同之处在于,它将 sed 的输出作为第一个参数传递给 vim。结果,Vim 将打开该文件。
在您键入的命令中,sed 的输出通过管道传输到 vim 的标准输入。由于您将“-”作为参数传递给 Vim,它假定要编辑的文本是来自标准输入的文本。此文本是文件名,但不是文件的内容。
是的,我明白了。
命令是
vim `sed -n 4p abc.txt`
我有一个文本文件 abc.txt
中的文件列表。
我必须从文件中读取第 n 行并使用 vim 打开文件。
我已经这样做了,但是第 n 行的文件打不开:-
sed -n 4p abc.txt | vim -
尝试从 abc.txt
获取第 4 行并使用 vim 打开它。但是我得到的输出是该特定行号处的文件内容:-
正确的命令应该是这样的:
vim "$(sed -n 4p abc.txt)"
不同之处在于,它将 sed 的输出作为第一个参数传递给 vim。结果,Vim 将打开该文件。
在您键入的命令中,sed 的输出通过管道传输到 vim 的标准输入。由于您将“-”作为参数传递给 Vim,它假定要编辑的文本是来自标准输入的文本。此文本是文件名,但不是文件的内容。
是的,我明白了。 命令是
vim `sed -n 4p abc.txt`