0
如何删除最后一列中的所有字符直至最后一个空格?将所有内容保留至最后一列,但删除最后一列中最后一个空格前的字符
20160101|193.150.22.1|57381|0.0.0.0/0|57381 42708 29468 41136 41136 41136 3292
结果应该是如下:
20160101|193.150.22.1|57381|0.0.0.0/0|3292
如何删除最后一列中的所有字符直至最后一个空格?将所有内容保留至最后一列,但删除最后一列中最后一个空格前的字符
20160101|193.150.22.1|57381|0.0.0.0/0|57381 42708 29468 41136 41136 41136 3292
结果应该是如下:
20160101|193.150.22.1|57381|0.0.0.0/0|3292
您可以sed
实现这一目标,例如:
echo "20160101|193.150.22.1|57381|0.0.0.0/0|57381 42708 29468 41136 41136 41136 3292" | sed -e 's/\(|.*|\).* \(.*\)/\1\2/'
给出:
20160101|193.150.22.1|57381|0.0.0.0/0|3292
编辑:
如果你想只bash
-internal功能的结果,你可以使用bash
substring removal
s="20160101|193.150.22.1|57381|0.0.0.0/0|57381 42708 29468 41136 41136 41136 3292"
echo "${s%|*}|${s##* }"
也给出了期望的结果。
它的工作,非常感谢。 – user8108049