Следующий sed синтаксис удаляет первое @
символ, если это существует в строке:
sed 's/^@\(.*\)/\1/'
Но как изменить его для удаления @
символ, только если это находится в третьем положении? Например, я должен был бы удалить его в следующей строке:
AB@CDEF
Мне нужен сценарий, чтобы проверить, ли третий символ @
, и раз так затем удалить его из строки.
Сделать вывод для любого символа в любом данном положении n
:
sed 's/^\(.\{2\}\)./\1/'
который удаляет третий символ. Просто измените номер "2" на n-1
.
Можно использовать переменную как это:
n=2
echo "$line" | sed "s/^\(.\{${n}\}\)./\1/"