Grep один лайнер для удаления блоков случайного текста

Нет никакой потребности вручную загрузить некоторый ffmpeg .deb пакет (btw, где Вы получали его от?).

Просто установите его через диспетчер пакетов распределения, например:

$ sudo apt-get install ffmpeg

Пакет Вы использовали конфликты с уже установленным пакетом и возможно имеете другие проблемы. Диспетчер пакетов как Кв. - добирается, может обнаружить/диагностировать, и (помогите к), конфликты твердости.

3
14.09.2012, 02:29
4 ответа

Вы могли всегда использовать Perl или ПРОСТОФИЛЮ:

$ perl -ne 'print unless /<\s*$/' input_file

или

$ gawk '$NF!~/</'

Оба scriptlets распечатает все строки, которые НЕ заканчиваются" <".

1
27.01.2020, 21:14

При условии, что вывод ограничен тем, что Вы имеете там, просто избавление от тех нежелательных строк было бы:

grep -v '[0-9A-F]\{5\} <$'

Чтобы удалить новые строки также, я, вероятно, передал бы его по каналу в другого grep команда, так как легко считать тот путь:

grep -v '[0-9A-F\{5\} <$' | grep -v '^$'
4
27.01.2020, 21:14

попробуйте это

grep -v '^[0-9A-F]\{8\}'
0
27.01.2020, 21:14
  • 1
    Спасибо за Ваш ответ, но это, даже кажется, не касается Попытки it.pastebin.com/HmTsVuH2 –  Bryan Chapman 13.09.2012, 13:57
  • 2
    grep -v '^[[:space:]]*[0-9A-F]\{8\}.*[[:space:]]<$. Это удалит все строки это, которые начинаются по крайней мере с 8 шестнадцатеричных символов и конца с <символ. –  Krzysztof Adamski 13.09.2012, 14:25

Используя sed:

sed '/<\s*$/,/^\s*$/d'
1
27.01.2020, 21:14

Теги

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