URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9618
[ Назад ]

Исходное сообщение
"Нужно удалить в начеле строк все табуляции"

Отправлено universite , 27-Дек-12 12:05 
Так почему-то не работает...

command1 | command2 | sed 's/^[\t]*//'


Содержание

Сообщения в этом обсуждении
"Нужно удалить в начеле строк все табуляции"
Отправлено allez , 27-Дек-12 12:53 
> Так почему-то не работает...
>
 
> command1 | command2 | sed 's/^[\t]*//'
>

Попробуйте так:

sed 's/^\s*//'

В конце концов, табуляция - это пробельный знак. Кроме того, не исключено, что в
процессе обработки символы табуляции заменяются на пробелы.


"Нужно удалить в начеле строк все табуляции"
Отправлено universite , 27-Дек-12 14:15 

> Попробуйте так:
>
sed 's/^\s*//'

тоже не работает :(

> В конце концов, табуляция - это пробельный знак. Кроме того, не исключено,
> что в
> процессе обработки символы табуляции заменяются на пробелы.

специально парсил вывод в файл, там именно табуляторы


"Нужно удалить в начеле строк все табуляции"
Отправлено XAnder , 27-Дек-12 13:37 
> Так почему-то не работает...

command1 | command2 | sed 's/^[\t]*//'

Очень странно. У меня этот пример работает. Хотя я бы написал так:

sed 's/^\t\+//'

Со звёздочкой будут холостые срабатывания в каждой строке, а квадратные скобки вводят ненужный здесь класс из одного символа - всё это замедлит работу.

Что за версия sed? Или же, возможно, там не табуляция, тогда присоединюсь к мнению allez'а выше.


"Нужно удалить в начеле строк все табуляции"
Отправлено universite , 27-Дек-12 14:12 

>
sed 's/^\t\+//'

не помогает:


# curl -s "http://80.91.187.254:8080/servlet/SMCSearch2?barcode=RB10732... | egrep "зареєстровані|передано" | sed 's/^\t\+//'
                                Дані про відправлення за номером RB107323830CN на даний час відсутні, тому що не зареєстровані в системі.


> Что за версия sed? Или же, возможно, там не табуляция, тогда присоединюсь
> к мнению allez'а выше.

sed со стандартной поставки FreeBSD


"Нужно удалить в начеле строк все табуляции"
Отправлено XAnder , 27-Дек-12 14:48 
> sed со стандартной поставки FreeBSD

Ну, тогда понятно. Этот sed вообще не поддерживает \t. Вводите "чистую" табуляцию (Ctrl+V Ctrl+I должно сработать). Также будет полезно запускать sed с ключиком -E, иначе будут использоваться только basic регулярные выражения, которые совсем дубовые.

В bash'е прокатит ещё такое непотребство:

sed -E s/^$'\t'+//


"Нужно удалить в начеле строк все табуляции"
Отправлено daemon17 , 27-Дек-12 16:38 
>>
sed 's/^\t\+//'

> не помогает:
>
 
> # curl -s "http://80.91.187.254:8080/servlet/SMCSearch2?barcode=RB10732...
> | egrep "зареєстровані|передано" | sed 's/^\t\+//'
>            
> sed со стандартной поставки FreeBSD

Пользуйся
curl -s "http://80.91.187.254:8080/servlet/SMCSearch2?barcode=RB10732... | egrep "зареєстровані|передано" | sed 's/^[[:blank:]]*//'


"Нужно удалить в начеле строк все табуляции"
Отправлено universite , 27-Дек-12 18:44 

> Пользуйся
> curl -s "http://80.91.187.254:8080/servlet/SMCSearch2?barcode=RB10732...
> | egrep "зареєстровані|передано" | sed 's/^[[:blank:]]*//'

Блин, совсем забыл про специальный синтаксис [[:blank:]].


"Нужно удалить в начеле строк все табуляции"
Отправлено allez , 27-Дек-12 21:21 
> sed со стандартной поставки FreeBSD

А вот это очень неплохо было бы указать в первом сообщении. :)