удалить содержимое с начала до первой пустой строки

xsel -o -p  | grep -v string

Вышеупомянутое использование xsel утилита, чтобы получить от буфера обмена и отправить текущий основной выбор в stdout. Можно затем изменить вывод с grep (или sed или awk) как Вам нравится.

Если Вы не хотите основной выбор, замените "-p" "-s" для вторичного выбора или "-c" для выбора буфера обмена.

На debian или подобном распределении, можно получить xsel с apt-get install xsel.

Вышеупомянутое отправляет свой вывод в stdout. Если Вы хотите получить вывод непосредственно назад в выбор, используйте:

xsel -o -p  | grep -v string | xsel -i -s

Опция "-i" говорит xsel быть введенным от stdin и сохранять его к выбору. "-s" снова указывает вторичный выбор.

2
06.06.2015, 07:41
4 ответа
sed -e 1,/^$/c\\ -e '' <infile >outfile

... также будет работать.

В отличие от 1, / ^ $ / D Команда C \ D D D Электрина диапазона адресов, Точно, но скорее C зависает весь блок к одной строке. Итак, это не удалит первую пустую линию от вывода - потому что это C C зависает весь первый происходящий текстовый блок в входе (как разграничен первой чистотой пустой строки) к одному пустая строка.

1
27.01.2020, 21:59

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

 sed -n '/^$/{:l; p; n; b l}' file

-n подавляет нормальный вывод. Когда вы дойдете до первой пустой строки, которая соответствует шаблону / ^ $ / , он запускает цикл, который печатает все последующие строки.

1
27.01.2020, 21:59

С sed :

sed -n '/^$/,$p' file

или:

sed -e '/^$/,$!d' file

С awk :

awk '/^$/{p++};p' file
1
27.01.2020, 21:59

С недавним ksh (вам нужно ksh93s или выше), вы можете сделать:

cat <example.txt <#""
1
27.01.2020, 21:59

Теги

Похожие вопросы