排除最后一个字段

时间:2015-02-17 08:48:58

标签: bash awk sed cut tr

如何排除或删除行中最后一个单词之前的单词:

示例:

var=1
echo "list $var M"

预期:

list 1M

2 个答案:

答案 0 :(得分:2)

不确定您的问题是什么,但是:

var=1
echo "list $var M"

给出

list 1 M

要获取list 1M,请使用此选项:

var=1
echo "list ${var}M"
list 1M

使用{...}可确保M不属于变量名称。

答案 1 :(得分:1)

由于您的问题和预期答案不匹配,我发布了2个答案。

  

1)要获得有问题的输出,2)删除第二个最后一个单词

1。 sed 's/ \(\w*$\)/\1/'

检查前一个空格的最后一个单词(\w*$)。替换相同,但没有空格。

<强>输出:

$ echo "list $var M" | sed 's/ \(\w*$\)/\1/'
list 1M

2。 sed 's/\w* \(\w*$\)/\1/'

检查最后2个单词,只替换最后一个单词。

<强>输出:

$ echo "list $var M" | sed 's/\w* \(\w*$\)/\1/'
list M