$ 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'
>ghm/bubba/ktulh
>
>$ echo "ghm/bubba/ktulh" | sed -e 's/^ghm\///g'
>bubba/ktulh
>
>Не пойму, где в первой команде ошибка.$ echo "ghm/bubba/ktulh" | sed -e 's/^[a-z]\+\///g'
>$ 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'
Спасибо!
./test.sh
-bash: ./test.sh /bin/bash^M: bad interpreter: No such file or directoryТема уже избита, и не раз, но:
cat test.sh | sed -e 's/^M//' > test1.sh
не помогает.
>./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
>col -bx < test.sh > test1.shВсе хорошо, только он backslash'ей понаставлял.
Пропустил через tr -d \\, так он вообще все backslash'и снес, даже перед \n.
>>col -bx < test.sh > test1.sh
>
>Все хорошо, только он backslash'ей понаставлял.
>Пропустил через tr -d \\, так он вообще все backslash'и снес, даже
>перед \n.
Тогда man dos2unix unix2dos.
Или в perl s/\r$//