В зависимости от ситуации это может быть так же просто, как:
некоторые подстановки для захвата ваших файлов (filea, fileb, filec и т. д.)
FILES=`ls file*`
затем соедините их
for i in $FILES; do cat "${i}" >> newfile; echo "" >> newfile; done
Один из способов сделать это —GNU find
:
td=$(mktemp -d);printf '\n\n' > "$td/2"
find. -maxdepth 1 -type f -exec cat {} "$td/2" \; | head -n -2 > "$td/log"
find
получает обычные файлы в текущем каталоге и передает их в cat
, который также объединяет файл с пустыми строками. Наконец, вывод передается в head
, который удаляет конечные пустые строки и затем сохраняется в файле журнала.
perl -lpe '$\ = eof && !eof() ? "\n\n" : $/' *.files