Я полагаю, что все необходимое для двоичной установки pkgsrc связывается как значение по умолчанию, но если Вы хотите pkgsrc источник, необходимо проверить код.
Я не думаю, что порты являются значением по умолчанию для NetBSD.
Будет самым легким удалить все пустые строки:
sed -i.bak '/^$/d' $FILES
Это создаст резервное копирование с расширением .bak
, выньте это, если Вы не хотите резервное копирование.
Если Вы хотите удалить строки с пробелом (и только пробелом) также, добавить \W*
:
sed -i.bak '/^\W*$/d' $FILES
И это работает с --posix
опция у гну sed (выключает расширения гну, таким образом, я думаю, что это должно работать над solaris):
sed -i.bak '/^[ \t]*$/d' $FILES
Добавьте больше пробельных символов при необходимости.
-i
опция, к сожалению, не доступна. Я просто возвратился домой и попробовал его, и это работало как ожидалось над Debian. прекрасный
– rahmu
13.12.2011, 20:44
Можно использовать следующую однострочную команду для удаления пустых строк через несколько файлов
find directoryname -name "filename" -print | xargs sed -i '/^$/d'
Если, например, Вы хотите удалить пустые строки из всех файлов, найденных в текущем каталоге и его подкаталогах, можно использовать следующую команду:
find . -name "*.*" -print | xargs sed -i '/^$/d'
] Различные способы удалить только пустые строки в трейлинге:[
] [printf %s\\n "$(cat file)"|sponge file
tac file|awk /./,0|tac|sponge file
perl -0777 -pi -e 's/\n*$/\n/' file
gsed -i ':1;/^\n*$/{$d;N;b1}' file
bsdsed -i '' -e :1 -e '/^\n*$/{$d;N;b1' -e '}' file
]
[]Замены команд удаляют все потоки в трейлинге, поэтому, например, []echo "$(printf 'a\n\n')b"[
] печатает []ab[
]. [
][]sponge[
] из moreutils.[
]Замените []tac[
] на []tail -r[
] в BSD.[
][]perl -0777[
] наборы []$_[
] на весь вход и []-p[
] распечатывают []$_[
] после каждой строки. См. [] man perlrun[
].[
][]:[
] устанавливает метку, []b[
] ветки на метку, []$d[
] удаляет пространство шаблона в последней строке, а []N[
] добавляет следующую строку к пространству шаблона. [
] GNU [] sed[
] допускает точку с запятой после []: [
] и []b[
], но POSIX и BSD [] sed[
] не допускают. []-i[
] работает с GNU []sed[
], но не с BSD []sed[
] и []-i'[
] работает с BSD []sed[
], но не с GNU []sed[
].[