Удаление первого известного символа в строке с помощью sed

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

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

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

21
задан Pops
29.03.2023 13:13 Количество просмотров материала 3521
Распечатать страницу

3 ответа

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

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

@ ваш известный символ

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

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

7
отвечен Pablo 2023-03-30 21:01

там никакая потребность захватить и заменить.

sed 's/^@//'

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

12
отвечен johnny 2023-03-30 23:18

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

sed 's/^.// '

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

пример :

echo test123 | sed 's/^.//'
est123
echo test123 | sed 's/^..//'
st123
0
отвечен Prakaash Ravi Chandran 2023-03-31 01:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх