nixp.ru v3.0

28 мая 2017,
воскресенье,
23:31:56 MSK

DevOps с компанией «Флант»
Аватар пользователя Curu3MyHg
Curu3MyHg написал 3 ноября 2006 года в 13:35 (3378 просмотров) Ведет себя как мужчина; открыл 41 тему в форуме, оставил 896 комментариев на сайте.

Собственно, вопрос, как это написать красиво?

Пустая строка — просто перевод строки, пробелы, табы и т.д.

Часа полтора мучал регекспы — так нифига и не получилось толкового..

rgo

может лучше не `grep -v’, а

tr -s ' \n\t'


?

Дмитрий Шурупов

Зависит от «и т.д.».

Что-то вроде:

grep -v ^[\s\t]*$
Curu3MyHg

Не, к сожалению, ни один, ни другой вариант не учитывает всех возможных вариантов.. (((

Dmitry Shurupov
Зависит от «и т.д.».

Строка — любая последовательность, любой набор, любое количество повторений символов из набора: табуляция, пробел, перевод строки. И больше ничего.

Ну, само собой, перевод строки будет один, и он будет находиться в конце строки. ;)

P.S. Чувствую, проще написать что-то типа

grep [a-zA-Z0-9]


;)

fly4life

Я вот всё никак не могу придумать задачи для грепа по «пробелам», «табуляции» и «переводам строки», не подскажешь? ;)

Curu3MyHg
fly4life
Я вот всё никак не могу придумать задачи для грепа по «пробелам», «табуляции» и «переводам строки», не подскажешь? ;)

не grep’а, а grep’а с опцией -v ;)

1) Вот попались подобные файлики, в пустых строках которых и табы есть, и пробелы в разном количестве. Эти строки (не несущие никакой полезной информации) при обработке надо бы игнорировать.

2) Просто интересно, как это сделать красиво.

fly4life

А если так:

grep -v "^[[:space:],\t]*$" /path/to/yourfile
Curu3MyHg
fly4life
А если так:

grep -v "^[[:space:],\t]*$" /path/to/yourfile

Вот оно!

Всё дело в волшебной запятой! =)

Спасибо, то, что надо.