如何在unix中查找和合并文件

时间:2016-03-03 13:06:06

标签: xml unix merge

如何基于Unix命令合并find中的各种文件,以使合并的文件出现在各自的目录中。

a1 - a1_1.xml , a1_2.xml --> full_a1.xml
b1 - b1_1.xml , b1_2.xml --> full_b1.xml

此处,a1b1是目录。

1 个答案:

答案 0 :(得分:1)

你可以从这开始:

DIRS=("a1" "b1")
PATT="*.xml"
for dir in "${DIRS[@]}"
do
    find "$dir" -name "$PATT" -exec cat {} > "$(pwd)/$dir/final_xml" \;
done 

编辑:

for dir in $(find . -type d)
do
    if [[ "$dir" == "." || "$dir" == ".." ]]; then
        continue
    fi

    find "$dir" -maxdepth 1 -name "*.xml" -print0 | xargs -0 cat > "$dir/final_xml"
done