你根本不需要正则表达式(那些复杂的东西伤了我的眼睛!)如果你用Awk并且有点创意的话。
1. echo $example| awk -v ins="Good.long" -F . '{OFS="."; $NF = ins"."$NF;print}'
它的作用:
-v ins=“Good.long”告诉awk用“Good.long”作为内容创建一个名为“ins”的变量,
-是的。告诉awk使用点作为输入字段的分隔符,
NF是字段数,所以$NF代表最后一个字段,
$NF=。。。part替换最后一个字段,它将当前最后一个字符串附加到要插入的内容(前面声明的名为“ins”的变量)。
2. echo $example| awk -F . '{print $NF}'
$NF是最后一个字段,仅此而已!
3. echo $example| awk -F . '{OFS="_"; $(NF-1) = $(NF-1)"."$NF; NF=NF-1; print}'
$(NF-1)=$(NF-1)“。”$NF:首先,我们将第二个最后一个字段替换为最后一个粘贴到第二个最后一个的字段,中间有一个点。
然后,我们愚弄awk,让它认为字段数等于字段数减去1,从而删除最后一个字段!