【发布时间】:2015-04-17 22:29:29
【问题描述】:
如何排除或删除行中最后一个单词之前的单词:
例子:
var=1
echo "list $var M"
预期:
list 1M
【问题讨论】:
-
请澄清您的意思。目前还不清楚。
如何排除或删除行中最后一个单词之前的单词:
例子:
var=1
echo "list $var M"
预期:
list 1M
【问题讨论】:
由于您的问题和预期答案不匹配,我发布了 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/'
检查最后两个单词,只替换最后一个单词。
输出:
$ echo "list $var M" | sed 's/\w* \(\w*$\)/\1/'
list M
【讨论】:
不知道你的问题是什么,但是这个:
var=1
echo "list $var M"
给予
list 1 M
要获取list 1M,请使用:
var=1
echo "list ${var}M"
list 1M
使用{...} 确保M 不是变量名的一部分。
【讨论】: