С sed
(и это относится только к указанному примеру), вы можете глобально заменить |F
на |
:
$ sed -E 's/\|F/\|/g' file
. Вы можете ограничить первые два экземпляра * 1007.* (не обязательно номера столбцов) с двумя неглобальными заменами с sed
:
sed -e 's/\|F/\|/' -e 's/\|F/\|/' file
или в форме ERE:
$ sed -E 's/^([^|]*)\|F/\1|/; s/([^|]*)\|F/\1|/' file
Лучше и гибчеПолевое решение с awk
позволяет указать, какой столбец:
$ awk 'BEGIN{FS=OFS="|"} {for (i=2; i<=3;i++)sub(/^F/,"",$i);}1' file
TEST|123433|123433|TEST
TEST|123434|123434|TEST
TEST|123435|123435|TEST
TEST|123436|123436|TEST
TEST|123437|123437|TEST