После вашего комментария к ответу x13n , который отвечает на ваш вопрос, кажется, что вы хотите более точно определить, какие цифры вы меняете.
Я бы использовал awk
, чтобы поменять местами все пары цифр во втором столбце:
bash-3.2$ gawk -V | sed -n 1p
GNU Awk 4.0.0
$ echo 254789123456,5306153059630141,639027041150453 | gawk -F',' '
BEGIN {
OFS=","
}
{
$2 = gensub(/(.)(.)/, "\\2\\1", "g", $2)
print
} '
254789123456,3560510395361014,639027041150453
Вы задали несколько вопросов о sed
и awk
,Я бы порекомендовал получить sed & awk, второе издание .
Я бы также порекомендовал прочитать Джон Скит руководство по написанию идеального вопроса , которое поможет вам получить ответ, который вам необходим при задании таких вопросов.