9

Как удалить первый известный символ в строке с помощью sed?

Например, я хочу удалить первый символ (который является @) в строке "@ ABCDEFG1234"

Я хочу, чтобы sed проверял, существует ли «@» в качестве первого символа. Если это так, он должен удалить символ.

3 ответа3

14

Там нет необходимости захватывать и заменять.

sed 's/^@//'

Это заменяет символ @ когда он первый ^ в строке, ничем. Таким образом, удаляя его.

7

sed 's/^@\(.*\)/\1/'

^ означает начало строки

@ ваш известный персонаж

(.*) остальные, захваченные

Захваченный блок будет заменен на выход. Извините, в данный момент не могу проверить

0

Вы можете сделать это вместо этого.

sed 's/^.//»

^ - Starting character 
. - No of charactes(.. means two characters)

Пример :

echo test123 | sed 's/^.//'
est123
echo test123 | sed 's/^..//'
st123

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .