x=$(find . -name "*.txt")
echo $x
Run Code Online (Sandbox Code Playgroud)
如果我在Bash shell中运行上面的代码,我得到的是一个包含多个文件名的字符串,用空格分隔,而不是列表.
当然,我可以进一步将它们分开来获取列表,但我确信有更好的方法可以做到这一点.
那么循环find执行命令结果的最佳方法是什么?
你好 Bash 超级英雄,
我正在尝试创建一个简单的 bash 函数,该函数将输出从find传送到 aa pdf 查看器,类似于但仅限于evince。
function findpapers {
find ~/papers/ -name *$1* | evince
}
Run Code Online (Sandbox Code Playgroud)
上述功能打开查看器但不显示任何所需的文件/路径。最终,我想显示从find输出的所有pdf 。一个简单的查找命令,例如:
$ find /home/alex/papers/ -name *erebus*
Run Code Online (Sandbox Code Playgroud)
创建一个输出,如:
/home/alex/papers/2000/rowe/seismic_and_acoustic_observations_at_mount_erebus_volcano_ross_island_antarctica.pdf
/home/alex/papers/2008/Jones/infrasonic_tracking_of_large_bubble_bursts_and_ash_venting_at_erebus_volcano_antarctica.pdf
Run Code Online (Sandbox Code Playgroud)
然后的想法是在查看器中显示这两个 pdf 文件。
有什么想法或建议吗?如果有帮助,我正在使用 Linux Mint。提前致谢!