我試圖把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