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

Исходное сообщение
"sed"

Отправлено sickboy , 17-Апр-07 16:33 
$ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]+\///g'
ghm/bubba/ktulh

$ echo "ghm/bubba/ktulh" | sed -e 's/^ghm\///g'
bubba/ktulh

Не пойму, где в первой команде ошибка.


Содержание

Сообщения в этом обсуждении
"sed"
Отправлено madskull , 17-Апр-07 16:42 
>$ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]+\///g'
>ghm/bubba/ktulh
>
>$ echo "ghm/bubba/ktulh" | sed -e 's/^ghm\///g'
>bubba/ktulh
>
>Не пойму, где в первой команде ошибка.

$ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]\+\///g'


"sed"
Отправлено phpcoder , 17-Апр-07 16:45 
>$ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]+\///g'

Не экранированный знак '+':

coder@alt0 ~ $ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]\+\///g'
bubba/ktulh


Совет: использовать нестандартный разделитель для улучшения восприятия выражения. Например, так: sed -e 's|^[a-z]\+/||g'


"sed"
Отправлено sickboy , 17-Апр-07 16:46 
Спасибо!

"опять sed"
Отправлено sickboy , 20-Апр-07 19:39 
./test.sh
-bash: ./test.sh /bin/bash^M: bad interpreter: No such file or directory

Тема уже избита, и не раз, но:
cat test.sh | sed -e 's/^M//' > test1.sh
не помогает.


"опять sed"
Отправлено bill , 20-Апр-07 20:26 
>./test.sh
>-bash: ./test.sh /bin/bash^M: bad interpreter: No such file or directory
>
>Тема уже избита, и не раз, но:
>cat test.sh | sed -e 's/^M//' > test1.sh
>не помогает.


col -bx < test.sh > test1.sh


"опять sed"
Отправлено sickboy , 20-Апр-07 21:06 
>col -bx < test.sh > test1.sh

Все хорошо, только он backslash'ей понаставлял.
Пропустил через tr -d \\, так он вообще все backslash'и снес, даже перед \n.


"опять sed"
Отправлено bill , 20-Апр-07 22:04 
>>col -bx < test.sh > test1.sh
>
>Все хорошо, только он backslash'ей понаставлял.
>Пропустил через tr -d \\, так он вообще все backslash'и снес, даже
>перед \n.


Тогда man dos2unix unix2dos.
Или в perl  s/\r$//