我有多个文件夹,例如
Folder_1
sub_folder_1----->1.txt,2.txt,3.txt
sub_folder_2----->2.txt,5,txt,6.txt
sub_folder_3----->1.txt,2.txt,3.txt
sub_folder_4----->1.txt,2.txt,3.txt
sub_folder_5----->1.txt,2.txt,3.txt
Folder_2
sub_folder_1----->1.txt,2.txt,3.txt
sub_folder_2----->1.txt,2.txt,3.txt
sub_folder_3----->1.txt,2.txt,3.txt
sub_folder_4----->1.txt,2.txt,3.txt
sub_folder_5----->1.txt,2.txt,3.txt
..........
每个sub_folders_*
里面都有files(.txt)
个cat
,我需要sub_folders
并将所有one unique file
的所有文件合并到find /home/Arun/Labs/Master -maxdepth 2 -type f -exec cat {} \;
中。
我尝试使用<input type="button" id="buy_remove" name="del_item" value="Remove" class="bt" onClick="deleteRow_payment();"/>
function deleteRow_payment() {
$('DIV.product-item_payment').each(function(index, item){
$(item).remove();
add_payment();
});
}
但无法实现。
有关如何做到这一点的任何建议吗?
答案 0 :(得分:2)
cat Folder_*/*/*.txt > new_file.txt
如果您不知道目录树有多深:
shopt -s globstar
cat **/*.txt > new_file.txt
来自man bash
:
globstar
:如果设置,路径名扩展上下文中使用的模式**将匹配所有文件以及零个或多个目录和子目录。如果模式后跟一个/,则只有目录和子目录匹配。
答案 1 :(得分:1)
如果文件夹中没有涉及复杂的结构,您可以简单地使用带有2个for
循环的shell脚本来实现此目的
假设:结构与问题中给出的结构完全相同,只有第一级目录和.txt文件中的所有数据
#read_recursive.sh
for foldr in *
do
cd foldr
for subf in *
do
cat *.txt
done
cd ..
done
$ sh read_recursive.sh | uniq > final_output.txt
答案 2 :(得分:1)
此find
xargs
应该处理:
find /home/Arun/Labs/Master -maxdepth 2 -name '*.txt' -print0 | xargs -0 cat > /tmp/output.txt