Объединение файлов в них также добавляет новую строку между каждым файлом

я использую

find . -type f \( -name "*.js" ! -name "*-min*" \) -exec cat {} \; > all.js 

объединить файлы. К сожалению, я не получаю новую строку после каждого файла, но заканчивается, и новый файл начинается с одной строки.

Как добавить новую строку между каждым файлом?

3 Solutions collect form web for “Объединение файлов в них также добавляет новую строку между каждым файлом”

Сценарий ниже выполнит задачу

 find . -type f \( -name "*.js" ! -name "*-min*" \) | while IFS= read -r line do cat "$line" echo done >all.js 

Если вы хотите систематически добавлять новую строку после каждого файла:

 find . -type f \( -name "*.js" ! -name "*-min*" \) \ -exec cat {} \; -exec echo \; > all.js 

или

 find . -type f \( -name "*.js" ! -name "*-min*" \) \ -exec sh -c 'for x; do cat "$x"; echo; done' _ {} + >all.js 

Если вы хотите добавить новую строку в конце каждого файла, который не заканчивается новой строкой:

 find . -type f \( -name "*.js" ! -name "*-min*" \) \ -exec awk '1' {} + > all.js 

Вы также можете сделать так:

 find source/path -name *.js | xargs cat > all.js 

  • brasero.toc.bin очень большой - почему?
  • ls -l vs ls -lL
  • В чем смысл mv -f?
  • Есть ли способ отслеживать, что удаляет исполняемый флаг из файла?
  • Как запустить команду при обновлении содержимого каталога?
  • Как я могу сказать, когда файл был сжат?
  • Разделите большие файлы на субфайлы. Как это сделать?
  • Как определить количество подкаталогов и файлов из команды ls -ld?
  • Какие инструменты я могу использовать для индексирования PDF?
  • Является ли таблица файлов в файловой системе или в памяти?
  • Списки контроля доступа и разрешения на каталог
  • Linux и Unix - лучшая ОС в мире.