Есть много и много способов сделать это. Steeldriver уже дал вам классический подход awk. Вот несколько других вариантов:
Используйте sed для захвата двух групп символов без пробелов (\S), а затем переключите их:... | sed -E 's/\s*(\S+)\s+(\S+)/\2 \1/'
Используйте perl. Его переключатель -a позволяет работать как awk. Он автоматически разделяет каждую строку ввода на пробелы и сохраняет каждое поле в качестве элемента массива @F. Поэтому первое поле будет $F[0], второе $F[1] и т. Д .: ... | perl -lane 'print "$F[1] $F[0]"'
Используйте Perl для всего: perl -lane '$k{$_}++ for @F; }{ print "$_ $k{$_}" for keys(%k)' "$1"
Здесь perl читает входной файл по строкам и применяет сценарий к каждому линия. $k{$_}++ for @F сохраняет каждое слово (каждое поле из @F) в качестве ключа в хэше %k и увеличивает каждое связанное значение на каждый раз, когда будет видно слово. Затем, после того, как файл был обработан (это означает, что }{ означает), он будет печатать слово ($_) и количество раз, которое он видел ($k{$_}) для каждой клавиши, сохраненной в хеше. Используйте awk для всего: awk '{for(i=1;i<=NF;i++){a[$i]++}}END{for(i in a){print i,a[i]}}' "$1"
Первый цикл for перебирает по каждому полю и добавляет его к значению, связанному с этим полем в массиве a. Затем, в конце файла, он перебирает каждый элемент в a и печатает элемент (слово) и связанное с ним значение (количество раз, когда было замечено это слово). Используйте оболочку с исходным конвейером: ... | while read a b; do echo "$b $a"; done
Я установил установку «загрузочного RAID5 с жестким диском 4 ТБ», используя следующие ссылки:
Как установить 64-битный бит Ubuntu 14.04 / 16.04 с разделом RAID 1 с двойной загрузкой на UEFI / GPT система? Должна ли двойная загрузка работать с жестким диском 4 ТБ? Как установить сервер Ubuntu с UEFI и RAID1 + LVM
Внимание! Систему необходимо загружать с помощью UEFI-носителя. [D3]
Я создал структуру разделов каждого жесткого диска, как показано ниже:
Device, Size, Type, Description
/dev/sd[abc]1, 2MB, ef02 (Grub-bios flag, Bios boot)
/dev/sd[abc]2, 500MB, ef00 (EFI system, ESP)
/dev/sd[abc]3, 500MB, fd00 (Linux Raid), md0 -> ext4 -> /boot
/dev/sd[abc]4, 12GB, fd00 (Linux Raid), md1 -> swap -> /swap
/dev/sd[abc]5, 15GB, fd00 (Linux Raid), md2 -> ext4 -> /
/dev/sd[abc]6, 3.7TB, fd00 (Linux Raid), md3 -> ext4 -> /data
mount /dev/md2 /mnt
mount /dev/md0 /mnt/boot
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
apt-get install -y grub-efi-amd64
apt-get install -y mdadm
mount /dev/sda2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntua --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sda2
mount /dev/sdb2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntub --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sdb2
mount /dev/sdc2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntuc --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sdc2
efibootmgr
Это все для меня. Надеюсь, это будет полезно тем, кто в ней нуждается.
Я установил установку «загрузочного RAID5 с жестким диском 4 ТБ», используя следующие ссылки:
Как установить 64-битный бит Ubuntu 14.04 / 16.04 с разделом RAID 1 с двойной загрузкой на UEFI / GPT система? Должна ли двойная загрузка работать с жестким диском 4 ТБ? Как установить сервер Ubuntu с UEFI и RAID1 + LVM
Внимание! Систему необходимо загружать с помощью UEFI-носителя. [D3]
Я создал структуру разделов каждого жесткого диска, как показано ниже:
Device, Size, Type, Description
/dev/sd[abc]1, 2MB, ef02 (Grub-bios flag, Bios boot)
/dev/sd[abc]2, 500MB, ef00 (EFI system, ESP)
/dev/sd[abc]3, 500MB, fd00 (Linux Raid), md0 -> ext4 -> /boot
/dev/sd[abc]4, 12GB, fd00 (Linux Raid), md1 -> swap -> /swap
/dev/sd[abc]5, 15GB, fd00 (Linux Raid), md2 -> ext4 -> /
/dev/sd[abc]6, 3.7TB, fd00 (Linux Raid), md3 -> ext4 -> /data
mount /dev/md2 /mnt
mount /dev/md0 /mnt/boot
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
apt-get install -y grub-efi-amd64
apt-get install -y mdadm
mount /dev/sda2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntua --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sda2
mount /dev/sdb2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntub --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sdb2
mount /dev/sdc2 /boot/efi
grub-install --boot-directory=/boot --boorloader-id=ubuntuc --target=X86_64-efi --efi-directory=/boot/efi --recheck
umount /dev/sdc2
efibootmgr
Это все для меня. Надеюсь, это будет полезно тем, кто в ней нуждается.