如何基于Unix
命令合并find
中的各种文件,以使合并的文件出现在各自的目录中。
a1 - a1_1.xml , a1_2.xml --> full_a1.xml
b1 - b1_1.xml , b1_2.xml --> full_b1.xml
此处,a1
和b1
是目录。
答案 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