Перестановка слов в столбце
Необходимо из файла взять строчку такого вида:
muhaz:x:6541:113:AhmmedMuhaz Mohammed Kunhi Mulleria:/home/students/muhaz:/bin/bash
и на выходе получить вот такую:
muhaz:x:6541:113:Mulleria Mohammed Kunhi AhmmedMuhaz:/home/students/muhaz:/bin/bash
Т.е. конкретно в пятом столбце первое и последнее слово поменять местами.
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Это можно сделать с помощью программы на POSIX awk:
BEGIN {
FS = ":";
OFS = ":";
}
{
n = split($5, a, " ");
t = a[1];
a[1] = a[n];
a[n] = t;
$5 = a[1];
for (i = 2; i <= n; i++) {
$5 = $5 " " a[i];
}
print;
}
$ awk -f ./tmp.awk ./tmp.txt
muhaz:x:6541:113:Mulleria Mohammed Kunhi AhmmedMuhaz:/home/students/muhaz:/bin/bash