grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
как sed или awk удалить все одинарные пустые строки? |
Alain_Prost |
|
Темы:
18
Сообщения:
214
Участник с: 21 октября 2015
|
я вот так удалял tr -d '\n' касательно одинарных не знаю |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
grayichНужно определиться — что означает одинарная пустая строка? Если символ конца строки стоит на 1-ом месте (проверка cat -E /file), то два варинта для удаления всех таких строк в файле - sed '/^$/d' /file - sed '/./!d' /file Если символ конца строки стоит не на 1-ом месте, то есть имеются отступы (пробелы,табуляции), то сначала нужно убрать эти отступы (выровнять по левому краю) - sed 's/^[ t]*//' /file ....... а вторым заходом уже удаляем все эти пустые строки ...
Ошибки не исчезают с опытом - они просто умнеют
|
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
vasek, одинарная пустая строка это ^$ варианты выше не вариант, т.к. удаляют также двойные, тройные и т.п. пустые строки |
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
grayichПокажи пример текста что должно получиться.
Lupus pilum mutat, non mentem.
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
grayichНе понятно ..... что это такое ....... согласен с jim945 - нужен пример ...
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
Кажется дошло значение «двойные, тройные и т.п. пустые строки» … не это??? $ cat -E ~/test.txt $ sed '/./,/^$/!d' ~/test.txt > ~/test_.txt …. и в итоге получаем по 1-ой пустой строке вместо нескольких$ cat -E ~/test_.txt Если это, то имеется два варианта- sed '/./,/^$/!d' - допускается 0 пустых строк в начале и 1 в конце файла - sed '/^$/N;/\n$/D' - допускается 1 пустая строка в начале и 0 в конце файла
Ошибки не исчезают с опытом - они просто умнеют
|
red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
vasekgrayich grayichнапример, есть: на выходе, на сколько я понял, нужно получить это: то есть, нужно удалить пустую строку запертую между двумя не пустымип.с. пока есть такой вариант: удаляет запертые пустые строки, но и сводит 2 и больше пустых строк в одну
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
redЗначит я не правильно понял ...... Нужен пример ......... что на входе ......... что на выходе
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
И похоже, в самом общем случае, лучше написать скрипт, который читает построчно и если встречается пустая строка, то определяется действие, что с ней делать, в зависимости от условия ... готовых решений sed для общего случая нет, а писать ... то уж проще скрипт, используя в нем стандартные команды sed ...
Ошибки не исчезают с опытом - они просто умнеют
|