繁体   English   中英

简单的bash问题:将2个bash命令的结果合并到一个文本文件中

[英]Simple bash Question: combine results of 2 bash commands to one text file

我希望将“ pwd”和“ ls”的结果放入文本文件中。 我有一个包含.jpg文件的目录,而不是“ ls> filename.txt”,我希望filename.txt中包含文件的路径,这样结果将是文本文件中的行列表,格式为“ /home/path-to-files/file.jpg”。

我知道它应该是“ ls”命令和“ pwd”命令的组合,中间是“ /”。

这应该很容易做到,但是在执行时遇到麻烦。

如果您传递完整路径, ls将打印完整路径。 *.jpg扩展为裸文件名; "$PWD"/*.jpg扩展为那些相同的文件名,并以当前目录为前缀。 然后, ls忠实地返回您给它的相同路径。

ls "$PWD"/*.jpg > filename.txt

另外,如果要递归搜索子目录,可以对find使用相同的技巧:

find "$PWD" -name '*.jpg' > filename.txt

您可以使用readlinkfind

readlink -f *.jpg > filename.txt

要么

find $(pwd) -name "*.jpg" -type f  > filename.txt

您可以使用find命令告诉find搜索$(pwd)$PWD来获取文件的路径,因为这两个将产生当前工作目录的完整路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM