我试图把find命令在UNIX bash的文本文件的结果壳问题重定向找到一个文件的输出
使用:
find ~/* -name "*.txt" -print > list_of_txt_files.list
然而list_of_txt_files.list住宿空,我必须杀死查找,让它返回命令提示符。我有很多txt文件在我的主目录
或者如何将find命令的结果保存到从命令行的文本文件。我认为这应该工作
我试图把find命令在UNIX bash的文本文件的结果壳问题重定向找到一个文件的输出
使用:
find ~/* -name "*.txt" -print > list_of_txt_files.list
然而list_of_txt_files.list住宿空,我必须杀死查找,让它返回命令提示符。我有很多txt文件在我的主目录
或者如何将find命令的结果保存到从命令行的文本文件。我认为这应该工作
我会做的第一件事就是使用单引号(有些shell会扩展通配符,但我认为bash
不会,至少在默认情况下),并且find
的第一个参数是一个目录,不是一个文件列表:
find ~ -name '*.txt' -print > list_of_txt_files.list
除此之外,它可能只是需要很长的时间,虽然我不能想象有是许多文本文件的人(你说你有一个很多,但它必须非常大,以减慢find
)。尝试它没有重定向,看看它输出:
find ~ -name '*.txt' -print
您可以通过使用三通一起重定向输出到文件和控制台。
find ~ -name '*.txt' -print | tee result.log
这将输出重定向到控制台和文件,因此你不必猜测命令是否是否真正执行。
当我尝试使用此命令并将输出重定向到文件时,我的机器运行速度非常慢。慢速机器导致重定向输出慢得多 - 即几分钟后文件仍然是零字节,而没有输出重定向,* .txt文件立即被列出。现在我的机器有更多的资源,两种方式看起来都很快。 – harijay 2010-10-26 19:34:01