我是脚本的新手并且有一些问题。这是路径
c:/data/flow/gen/value/foo.txt
c:/data/flow/gen/secondvalue/cat.txt
c:/data/flow/gen/thirdvalue/bar.txt
我必须编写一个脚本来获取文件夹gen中的所有.txt文件。
我写的是这样的。
find - path c:/*/gen/* -name "*.txt" | cat >> output.txt
但我没有在输出文件中获取文件名。有人可以帮我弄这个吗。 我只知道“gen”文件夹名称,它的路径对我来说是隐藏的。所以我必须相应地编写一个脚本
答案 0 :(得分:0)
试试这个:
find directory -name "*.txt" -print -exec cat '{}' \; > output.txt
-print # prints the filename
-exec cat '{}' # cats the file
> output.txt # puts it all into output.txt
您必须将目录替换为您要搜索的目录。 这适用于Linux shell但不适用于Windows。
如果您使用的是Windows,请尝试使用“查找文件和文件夹”功能。
答案 1 :(得分:0)
在-path之前添加一个或多个目录。
删除 - 和path之间的空格,使其显示为“-path”。
在“* .txt”之后添加-print以便于移植(以空格分隔)。
这是“无用的猫” - 你的find命令可以执行追加 - 它更简单,更快一点。
这是cygwin吗?
你可能需要\转义你的c:\ - 冒号绝对是一个内置的shell,但我不确定在这种情况下这是否重要。