我正在使用 find 命令来搜索文件。有没有办法获取 find 命令的输出并将其传递给 vim?
$ > find . -name *.txt
./file1.txt
./file2.txt
./file3.txt
./file4.txt
是否有一种简单(简短)的方法
vim <some command>
在不输入的情况下抓取 file4.txt(或之前的文件之一)?
我正在寻找类似于 bash 中的 !!
命令的解决方案。
答案 0 :(得分:1)
bash 内置命令 mapfile
可能正是您要找的。它将输出的行读入一个数组。
mapfile -t files < <(find . -name *.txt)
需要从进程替换中重定向以避免子shell。
然后
"${files[0]}"
"${files[-1]}"
"${files[@]}"
使用declare -p files
答案 1 :(得分:0)
如果要打开找到的文件,请使用命令替换:
vim $(find ...) -p
如果要打开find的输出,使用进程替换:
vim <(find ...)