Если вы открыты для решения Perl ...
perl -lane 'print join " ",@F[1..$#F,0]' file
- это простое решение с разделителем ввода / вывода из одного пробела, которое дает:
United Arab Emirates AE
Antigua & Barbuda AG
Netherlands Antilles AN
American Samoa AS
Bosnia and Herzegovina BA
Burkina Faso BF
Brunei Darussalam BN
Этот следующий немного сложнее
perl -F` ` -lane 'print join " ",@F[1..$#F,0]' file
и предполагает, что разделитель ввода / вывода состоит из двух пробелов:
United Arab Emirates AE
Antigua & Barbuda AG
Netherlands Antilles AN
American Samoa AS
Bosnia and Herzegovina BA
Burkina Faso BF
Brunei Darussalam BN
Используются следующие параметры командной строки:
-n
цикл вокруг каждой строки входного файла, не печатать автоматически каждую строку
-l
удаляет символы новой строки перед обработкой и добавляет их обратно
-a
режим автоматического разделения - разбить входные строки на массив @F. По умолчанию расщепление по пробелам
-F
модификатор autosplit, в этом примере разделяется на '' (два пробела)
-e
выполнить следующий код perl
@F
- массив слов в каждой строке, проиндексированный, начиная с 0
$#F
- количество слов в @F
@F[1..$#F]
- это фрагмент массива элемента от 1 до последнего элемента
@F[1..$#F,0]
- это фрагмент массива от элемента 1 до последнего элемента плюс элемент 0