Как исправить предупреждение «Нет новой строки в конце файла» для большого количества файлов? - PullRequest
10 голосов
/ 16 июля 2010

У меня есть огромное количество исходных файлов, в конце которых нет новой строки.

Как автоматически добавить новую строку в конце каждого из них?

У некоторых уже может быть символ новой строки, поэтому его следует добавлять только при необходимости.

Я, вероятно, не ищу код как таковой, а просто что-то, что я могу запустить в Терминале, чтобы добавить необходимые новые строки (или какой-то инструмент программирования или разработки).

Ответы [ 11 ]

0 голосов
/ 27 января 2014

В связи с локализацией команд ответ Тима и Нормана Должен быть улучшен с использованием префикса «LANG = C», чтобы иметь возможность сопоставить шаблон «без новой строки» с каждой системой, имеющей какие-либо региональные параметры

Это обеспечивает окончание пустой строки для каждого файла, помещенного в командную строку этого скрипта:

 #!/bin/sh -f
 for i in $* ; do  echo $i; \
 if LANG=C diff /dev/null "$i" | tail -1 | \
  grep '^\\ No newline' > /dev/null; then echo >> "$i"; \
 fi; done

И этот скрипт обнаруживает отсутствующие файлы:

 #!/bin/sh -f
 for i in $* ; do \
 if LANG=C diff /dev/null "$i" | tail -1 | \
  grep '^\\ No newline' > /dev/null; then  echo $i; \
 fi; done
...