示例字符串:
'kernel-rt|kernel-alt|/kernel-' 'headers|xen|firmware|tools|python|utils'
cut -d' ' -f 1 string.txt
给我
'kernel-rt|kernel-alt|/kernel-'
但是,我们如何进一步从中获取“内核”呢?
假设您只需要第三个内核(粗体),而不要其他
'kernel-rt |内核-alt | /内核-'headers | xen |固件|工具| python | utils'
这是使用单个命令awk
(标准Linux gawk
)提取它的方法。
input="kernel-rt|kernel-alt|/kernel-' 'headers|xen|firmware|tools|python|utils"
echo $input|awk -F"|" '{split($3,a,"-");match(a[1],"[[:alnum:]]+",b);print b[0]}'
说明
-F"|"
指定字段分隔符,|
以便仅需要第三个字段
split($3,a,"-")
将第三个字段分割为-
,将左侧部分分配给a[1]
match(a[1],"[[:alnum:]]+",b)
从a[1]
字母数字字符串的提取序列到b[0]
print b[0]
输出匹配的字符串。
如果kernel
要从第二或第一字段中提取。更改$3
为$2
或$1
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句