Bir betiğin parçası olarak birleştirmek istediğim üç dosya içeren bir dizi klasörüm var.
Üç dosya, file.html1 file.html2 file.html3 olarak adlandırılır. Onları file.html ile birleştirmek istiyorum
Bu döngüyü kullanıyorum:
find . -name "file.html" -print0 | while IFS= read -r -d '' n; do
perl -i.bak -0pe 's/<\/h2>\n(.*?\n)*/<\/h2>\n/' "$n" #extract 1st part of file.html and create .bak
perl -i -0pe 's/(.*\n)*.*?<\/h2>\n//' "$n.bak" #extract 2nd part of file.html
rename 's/\.html/\.html1/' $n
rename 's/\.bak/3/' $n.bak
cat $n1 $n2 $n3 >> $n
done
Bu komut dosyası, orijinal file.html dosyasını file.html1 ve file.html3 içine böler. file.html2 komut dosyasında daha önce üretildi.
Sorun cat komutunda. Onları bu durumda nasıl birleştirebilir ve sonra üç parçayı nasıl silebilirim? Dil önemli değil.