这可能已经得到了回答。但我无法找到它。
我有:
directory
directory/subdirectory/subdirectoryofsubdirectory
directory/sub-subdirectory/subdirectoryofsub-subdirectory/subdirectoryofsubdirectoryofsub-subdirectory
directory/sub-sub-subdirectory
directory/sub-sub-sub-subdirectory
Run Code Online (Sandbox Code Playgroud)
每个目录和子目录都包含文件。我想将它们全部列出,将列表通过管道传送到 cat,然后将列表传送到文本文件。这可以用“一个班轮”来完成吗?如果有,请提供。或者它是否需要脚本,如果需要,我需要什么命令/结构来编写脚本?
Ste*_*n D 10
我认为你最好的选择是find
命令。如果您只想要文件而不是列表中的目录,则如下所示:
find directory/ -type f -print > textfile
Run Code Online (Sandbox Code Playgroud)
find 命令将递归列出文件。(如果您还希望列出目录,请删除-type f
)。在> textfile
将stdout重定向到一个名为文本文件,无需猫文件。
find
是一个功能强大的工具,有很多选项。看看man find
您是否发现需要稍微调整输出。
更新(感谢gvkv):
如果要将文件的内容放入单个文本文件中,则一种方法是:
find Documents/ -type f -exec cat {} + > textfile
Run Code Online (Sandbox Code Playgroud)