我试图将find命令的结果放到unix bash shell上的文本文件中
使用:
find ~/* -name "*.txt" -print > list_of_txt_files.list
但是list_of_txt_files.list保持为空,我必须终止查找才能让它返回命令提示符。我的主目录中有很多txt文件
或者如何将命令的结果保存到命令行的文本文件中。我认为这应该有用
答案 0 :(得分:10)
我要做的第一件事就是使用单引号(有些shell会扩展通配符,但我认为bash
不会这样做,至少默认情况下如此),以及find
的第一个参数是目录,而不是文件列表:
find ~ -name '*.txt' -print > list_of_txt_files.list
除此之外,它可能只需要很长时间,但我无法想象任何人 许多文本文件(你说你有很多但是它必须非常庞大到放慢find
)。在没有重定向的情况下首先尝试它,看看它输出了什么:
find ~ -name '*.txt' -print
答案 1 :(得分:1)
您可以使用tee将输出重定向到文件和控制台。
find ~ -name '*.txt' -print | tee result.log
这会将输出重定向到控制台和文件,因此您无需猜测命令是否实际执行。
答案 2 :(得分:1)
这是对我有用的
find . -name '*.zip' -exec echo {} \\; > zips.out