递归bash目录
我正在使用递归bash遍历每个目录。在每个目录中,文件以递归bash目录,bash,recursion,Bash,Recursion,我正在使用递归bash遍历每个目录。在每个目录中,文件以New_File_Naming.Y1.txt和New_File_Naming.Y2.txt的形式存在,我试图在每个目录中递归运行一个命令,如: find-键入-d-exec sh-c'(cd{}&&cat{}.Y1.txt{}.Y2.txt)';' 但是,我得到一个错误,文件名是相同的。任何帮助都将不胜感激 简单: find . -type d -exec sh -c '(cat {}/New_File_Naming.Y1.txt {}/N
New_File_Naming.Y1.txt
和New_File_Naming.Y2.txt
的形式存在,我试图在每个目录中递归运行一个命令,如:
find-键入-d-exec sh-c'(cd{}&&cat{}.Y1.txt{}.Y2.txt)';'代码>
但是,我得到一个错误,文件名是相同的。任何帮助都将不胜感激 简单:
find . -type d -exec sh -c '(cat {}/New_File_Naming.Y1.txt {}/New_File_Naming.Y2.txt)' ';'
应该有效。请包含逐字记录错误消息。如果您要将目录名和文件名放在一起,则应使用/
,而不是
。您好,sami,谢谢您的帮助,但我认为这只适用于一个目录,而不是递归。在每个目录中,我们都有Y1和Y2的文件。我认为您实际上应该执行查找-如果您只想查找所有名为“New\u File\u Naming.*.txt”的文件,请将其命名为“New\u File\u Naming*”-exec…
。嗨,Sami,我没有使用“查找”命令-名称作为新文件,每个文件夹中的名称不同。例如,一个文件夹为New_File_naming_Y1.txt和New_File_naming_y2.txt,另一个文件夹为New_File_naming_something_Y1.txt和New_File_naming_something_y2.txt。问题是Y1和Y2对于文件名中的每个文件都是常量。答案仍然很明显:与其做一些过于复杂的事情,不如尝试创建一个只匹配您想要查找的文件的模式,然后将其输入到find-name”“
。例如,如果您知道要查找的文件的名称中有“Y1”和“Y2”,只需使用find-name“*Y1*”-name“*Y2*”-exec cat{}\代码>。