У меня точно такая же проблема, как и у вас. И вот мое решение.
PS. Мой компьютер - ASUS, и моя первая ОС - Win10, вторая - Ubuntu.
Сначала убедитесь, что Win10 полностью выключена, отключив быстрый запуск Win10. Предотвратите проблему, из-за которой Win10 может не полностью завершить работу.
https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html
Я обнаружил, что есть решение, использующее программное обеспечение «Boot -Repair».https://help.ubuntu.com/community/Boot-Repair
Поэтому я использую загрузочный USB-накопитель, с помощью которого я могу получить доступ к среде ОС Ubuntu.
Затем откройте терминал и выполните приведенные ниже команды.
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
После завершения процесса перезагрузите компьютер.
Используйте специальную клавишу для входа в BootMenu. В моем случае (Рабочий стол ASUS )F8.
http://www.disk-image.com/faq-bootmenu.htm
(Я много раз пытался, если я войду в режим BIOS/UEFI, чтобы изменить последовательность загрузки, это не сработает. Я вижу, что опция Ubuntu снова появляется, однако после того, как я перехожу к первой опции и перезапускаю, она сразу переходит к Win10. Я дважды проверяю в режиме BIOS/UEFI, он просто заставляет снова исчезнуть опция Ubuntu...)
Измените последовательность параметров загрузки на ожидаемую. (Ubuntu на первое место )Тогда проблема решилась.
С файлом1.txt:
1 Mark USA
2 Amir UK
3 Pant USA
4 Veer IND
и столбец.txt:
657890
768908
435678
342343
сделать:
$ paste file1.txt column.txt | awk '{ print $1,$2,$4,$3 }'
1 Mark 657890 USA
2 Amir 768908 UK
3 Pant 435678 USA
4 Veer 342343 IND
Сохраните его, перенаправив на output.txt(> output.txt
).
Пробовал с помощью приведенной ниже команды, все работает нормально
z=`awk '{print NR}' file1| sed -n '$p'`
for ((i=1;i<=$z;i++)); do j=`sed -n ''$i'p' file2`; awk -v i="$i" -v j="$j" 'NR==i{$4=$3;$3=j;print $0}' file1; done
выход
1 Mark 657890 USA
2 Amir 768908 UK
3 Pant 435678 USA
4 Veer 342343 IND