问题基本上就是这个,我需要能够在一行中搜索一个我已经从/ proc / cmdline中删除的变量。然后能够将此变量的值切掉(在这种情况下,我想要删除Disktype的值)。
*应该注意,这将在PXE引导环境中,因此大多数其他语言工具将不可用,并且变量和值可能与/ proc / cmdline中显示的位置不同。
所以基本上如果我拿出/ proc / cmdline,我可以得到这个:
centos-workstation-x86_64/vmlinuz initrd=centos-workstation-x86_64/initrd.img locale=en_US Disktype=Fresh
或者
rhel6-workstation-x86_64/vmlinuz initrd=rhel6-workstation-x86_64/initrd.img Disktype=Large locale=en_US
或为PXE设置更多其他变量的任何其他变体。
*澄清这将是更大的kickstart文件的一部分
**对于那些可能想知道为什么这可能有用的人,使用这个我将在kickstart中稍后指定一个case语句,该case语句与抛入Disktype的内容相匹配,以确定在安装过程中使用的partition.cfg。 / p>
答案 0 :(得分:0)
在awk
中,如果您正确设置记录分隔符和字段分隔符,则很容易:
awk '/Disktype/{print $2}' RS=" " FS==
cut
并不适合这项任务:
tr " " "\n" | grep Disktype | cut -f 2 -d =
您也可以使用sed
:
sed -n 's/^.*Disktype=\([^ ]\+\)/\1/p'