Вам нужно захватить 3 символа и использовать обратную ссылку в шаблоне замены:
sed -Ei 's/(...)A/\1\tA/' myfile.txt
В этой команде ()
вокруг части шаблона поиска определяет группу захвата, содержимое которой выВы сможете ссылаться либо в шаблоне поиска, чтобы убедиться в наличии одного и того же контента в двух местах, либо в шаблоне замены, чтобы повторить часть того, что вы нашли.
* \1
в шаблоне замены есть ссылка на первую группу захвата (в нашем случае единственную, которую мы определили).
Я использую -E
RE регулярное выражение, чтобы избежать необходимости избегать скобок группировки, но sed -i 's/\(...\)A/\1\tA/' myfile.txt
было бы эквивалентно.
Кроме того, вы можете добавитьякоря, чтобы убедиться, что вы заменили целую строку, а не часть строки, которая содержит A
после трех других символов:
sed -Ei 's/^(...)A$/\1\tA/' myfile.txt
Вы можете попробовать здесь .