连接不同目录中同名文件的更快方法

时间:2018-10-17 13:15:34

标签: linux performance find concatenation

我正尝试按照本文中的内容做,并使用了可接受的答案。我的问题是,有没有更快的选择?它实际上已经运行了几个小时,并且仍在创建新的空文件。我有数百个文件要串联。谢谢!

https://unix.stackexchange.com/questions/435794/create-new-concatenated-files-of-same-name-in-multiple-directories

代码如下:

find . -type f -path "*/*/*/*/$name" 
-exec cat {} + >"New_Dir/$name" 
done < list_to_concat.txt

我在类似的文章中读到,循环可能更快,但无法使其正常工作。我在这里用echo测试:

for i in */*/*/*/*.txt; 
do echo find -name $i -exec bash -c cat $i >>
"New_Dir/$i"; done

1 个答案:

答案 0 :(得分:0)

如果这对一天中搜索其他人有用的话,我学会了使用xargs和ls进行此操作的更快方法:

while read -r name
do
ls */*/*/*/$name.txt | xargs cat > $name.combine
done <List_to_combine.txt