2017-09-03 2 views
1

Quelqu'un peut-il m'aider à ajouter une entrée à la fin de la ligne.Script Shell pour éditer et ajouter une entrée dans le fichier

Ceci est sous Linux.

Ci-dessous le contenu du fichier /boot/grub2/grub.cfg

### BEGIN /etc/grub.d/10_linux ### 
menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.el7.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f' { 
     load_video 
     set gfxpayload=keep 
     insmod gzio 
     insmod part_msdos 
     insmod xfs 
     set root='hd0,msdos1' 
     if [ x$feature_platform_search_hint = xy ]; then 
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     else 
      search --no-floppy --fs-uuid --set=root 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     fi 
     linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 
     initrd16 /initramfs-3.10.0-327.el7.x86_64.img 
} 
menuentry 'Red Hat Enterprise Linux Server (0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff-advanced-75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f' { 
     load_video 
     insmod gzio 
     insmod part_msdos 
     insmod xfs 
     set root='hd0,msdos1' 
     if [ x$feature_platform_search_hint = xy ]; then 
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     else 
      search --no-floppy --fs-uuid --set=root 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     fi 
     linux16 /vmlinuz-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff root=UUID=75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f ro crashkernel=auto rhgb quiet 
     initrd16 /initramfs-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff.img 
} 

Je dois ajouter l'entrée à la fin de la ligne « text1 » et « text2 ».

linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 text1 text2 

après modifier mon dossier devrait ressembler à:

### BEGIN /etc/grub.d/10_linux ### 
menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.el7.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f' { 
     load_video 
     set gfxpayload=keep 
     insmod gzio 
     insmod part_msdos 
     insmod xfs 
     set root='hd0,msdos1' 
     if [ x$feature_platform_search_hint = xy ]; then 
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     else 
      search --no-floppy --fs-uuid --set=root 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     fi 
     linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 text1 text2 
     initrd16 /initramfs-3.10.0-327.el7.x86_64.img 
} 
menuentry 'Red Hat Enterprise Linux Server (0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff-advanced-75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f' { 
     load_video 
     insmod gzio 
     insmod part_msdos 
     insmod xfs 
     set root='hd0,msdos1' 
     if [ x$feature_platform_search_hint = xy ]; then 
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     else 
      search --no-floppy --fs-uuid --set=root 0ee3bceb-d7b7-4e56-ae16-a17ed5f395ea 
     fi 
     linux16 /vmlinuz-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff root=UUID=75a4fe9b-ade6-4db0-a19c-e2dce64b4f2f ro crashkernel=auto rhgb quiet 
     initrd16 /initramfs-0-rescue-3b0570b9c0c44fd7b8426ed7d80f55ff.img 
} 
+5

Ne peut pas vous trouver une beaucoup plus minime (comme dans [mcve]) exemple où la différence entre l'entrée et la sortie serait beaucoup plus claire? –

+0

Cette [question et réponse] (https://stackoverflow.com/questions/9591744/add-to-the-end-of-a-line-containing-a-pattern-with-sed-or-awk) est liée . – Mox

+0

@all, j'ai pensé à fournir plus d'informations .. Comme suggéré, je vais améliorer et fournir des informations minimales. –

Répondre

2

Avec sed expression:

sed '\~linux16 /vmlinuz-3\.10\.0-327\.el7\.x86_64~{s/$/ text1 text2/;}' /boot/grub2/grub.cfg 
+0

@RomanPerekhrest, Merci beaucoup pour la réponse .. Je veux ajouter du texte dans la même ligne à la fin et pas dans la ligne suivante –