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

я использую

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 

  • Использование crc32 для поиска поврежденных или поврежденных файлов
  • Найти общий размер определенных файлов в ветке каталога
  • Что случилось с файлом, когда я ввел «mv file.txt ../»?
  • групповые файлы в куски фиксированного размера
  • Генерирование файлов различной изменчивости?
  • Tracker-extract и Tracker-store обрабатывают огромные объемы ОЗУ
  • поиск файлов с определенным текстом и копирование этих файлов в другой каталог
  • Храните все файлы того же месяца + последний файл до этого, удалите остальные
  • Как найти полную историю файла?
  • Выгрузить определенный файл из кеша файловой системы Linux?
  • Что означает ./ (точка слэш) в linux?
  • Linux и Unix - лучшая ОС в мире.