На вашем месте я бы сначала "исправил" оригинал, а потом просто удалил столбец. Однако вы можете сделать и то, и другое за один проход :
.awk '{sub(/[0-9]+/," &",$2); $0=$0; $3=""; print}' input_file
18DMA H 0.886 5.687 5.320
18DMA H 1.019 5.764 5.247
18DMA Np 0.947 5.584 5.151
18DMA H 1.033 5.541 5.113
18DMA Cn 0.880 5.674 5.050
18DMA H 0.831 5.616 4.971
18DMA H 0.814 5.751 5.091
18DMA H 0.957 5.735 5.003
18DMA Cn 0.837 5.486 5.185
Присвоение $0=$0
вызовет awk
повторное вычисление (и повторное -разделение )текущей строки. В отличие от всех других ответов, это только предположения о возможном формате второго поля, а не о длине или количестве полей.
Версия, которая будет использовать Tab в качестве разделителя выходных полей:
awk -vOFS='\t' '{sub(/[0-9]+/," &",$2); $0=$0; $3=""; sub(OFS OFS,OFS); print}' input_file
18DMA H 0.886 5.687 5.320
18DMA H 1.019 5.764 5.247
18DMA Np 0.947 5.584 5.151
18DMA H 1.033 5.541 5.113
18DMA Cn 0.880 5.674 5.050
18DMA H 0.831 5.616 4.971
18DMA H 0.814 5.751 5.091
18DMA H 0.957 5.735 5.003
18DMA Cn 0.837 5.486 5.185
Дополнительный sub(OFS OFS, OFS)
свернет пустое поле, созданное $3=""
. Это необходимо только в том случае, если файл должен обрабатываться инструментом, который специально ожидает поля с разделителями табуляцией -или по эстетическим соображениям.
Вы смешиваете параметры файла конфигурации grub с фактической grub.cfg
сборкой grub-mkconfig
.
Чтобы отредактировать параметры, вам нужно отредактировать файл /etc/default/grub
, а затем запуститьsudo update-grub
:
# /etc/default/grub
GRUB_DEFAULT="0"
GRUB_TIMEOUT_STYLE="menu"
GRUB_TIMEOUT="10"
GRUB_GFXPAYLOAD_LINUX="keep"
затем
sudo update-grub