Как удалить первый известный символ в строке с sed?
например, я хочу удалить первый символ (который @) в строке "@ABCDEFG1234"
Я хочу, чтобы sed проверил, существует ли " @ " в качестве первого символа. Если это так, он должен удалить символ.
Как удалить первый известный символ в строке с sed?
например, я хочу удалить первый символ (который @) в строке "@ABCDEFG1234"
Я хочу, чтобы sed проверил, существует ли " @ " в качестве первого символа. Если это так, он должен удалить символ.
sed 's/^@\(.*\)//'
^
означает начало строки
@
ваш известный символ
(.*)
остальные, захватили
после этого захваченный блок будет заменен к выходу Извините, не могу проверить на данный момент, но должно быть что-то вроде этого
там никакая потребность захватить и заменить.
sed 's/^@//'
это заменяет символ @
когда он первый ^
в строке, без ничего. Таким образом, удаляя его.
вы можете сделать это вместо этого.
sed 's/^.// '
^ - Starting character
. - No of charactes(.. means two characters)
пример :
echo test123 | sed 's/^.//'
est123
echo test123 | sed 's/^..//'
st123
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]