Как удалить строки короче, чем XY?

Ответ, "идут, спрашивает Ваш администратор".

Причина Вы получаете это сообщение, состоит в том, потому что что-то за пределами Вашей системы не то, что ожидает Ваша система. Нет никакого способа, которым мы можем диагностировать внешнюю сеть, ничего не зная об этом. И нет никакого способа, которым мы можем диагностировать, почему то сообщение подходит, не зная механизмов аутентификации, настроенных в Вашей системе. Это очевидно существенно отличается, чем значение по умолчанию. Было бы опасно последовать любому совету, который кто-то дает на основе такой небольшой информации, как Вы обеспечили.

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

31
06.04.2014, 08:50
6 ответов
[1121053] Можно использовать [1121497]sed[1121498]. Для удаления строк длиной в 3 символа или меньше:

Чтобы сохранить изменения в файле на месте, поставьте опцию [1121499]-i[1121500].

Если ваша версия [1121501]sed[1121502] не поддерживает расширенный синтаксис RE, то вы можете записать то же самое в BRE:

, что будет работать со всеми вариантами [1121503]sed[1121504].

Вы также можете использовать [1121505]awk[1121506]:

Используя [1121507]perl[1121508]:

43
27.01.2020, 19:37
[1122182]Еще несколько вариантов:

sudo chmod 700 /home/user

или

или

или

sudo ports install libevent

или

или GNU awk:

pip install cython

5
27.01.2020, 19:37
[1121067] для непосредственного удаления строк можно:

или BRE:

Если строка не содержит 4 или более символов, она удаляется.

Выполнение описанного выше в подоболочке для подстановки команд гарантирует, что [1121509]grep[1121510] получит дескриптор для чтения до того, как в него начнёт записываться cat, но [1121511]<

1
27.01.2020, 19:37
[1120862].
0
27.01.2020, 19:37
[1121261] Вы можете использовать [1121771]grep[1121772]:[12192] Если вы считаете ведущие пробелы в длине строки:[12193] Если вы не считаете ведущие пробелы в леанге строки:[12194]
0
27.01.2020, 19:37

Вот решение Vim, использующее режим Vim Ex и команду global.

Это очень похоже на использование sed, только некоторые специальные символы ('{', '}' )необходимо экранировать.

:g/^.\{,3\}$/d

Используя режим Vim Very Magic Regex (\v ), этого экранирования можно избежать.

:g/\v^.{,3}$/d

См. также :магия помощи

Use of "\v" means that in the pattern after it all ASCII characters except
'0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning.  "very magic"

Также иногда полезно сделать обратное с vglobal.

:v/\v^.{,3}$/d

удалит все, кроме строк до 3 символов.

5
27.01.2020, 19:37

Теги

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