我几乎尝试了所有东西(我猜)但没有任何效果.(操作系统:Ubuntu 12.04)
要匹配的表达式(从文本文件中删除):
a c 4
a k 23
o s 1
Run Code Online (Sandbox Code Playgroud)
我尝试了什么:
's/[[a-z][:space:][a-z][:space:][0-9]]\{1,\}//gi'
's/.\s.\s[0-9]+//g'
's/[:alpha:][:space:][:alpha:][:space:][:digit:]+'
Run Code Online (Sandbox Code Playgroud)
per*_*eal 16
这应该匹配:
sed 's/[a-z][ ]*[a-z][ ]*[0-9]*//gi'
Run Code Online (Sandbox Code Playgroud)
你的第一次尝试错过了几个方括号,你不需要最外面的一个:
sed 's/[a-z][[:space:]][a-z][[:space:]][0-9]\{1,\}//gi' input
Run Code Online (Sandbox Code Playgroud)
你的第二个例子失败了,因为你需要逃避它+,但它仍然只适用于gnu sed:
sed 's/.\s.\s[0-9]\+//g' input
Run Code Online (Sandbox Code Playgroud)
还有一些类似的问题与最后一个:
sed 's/[[:alpha:]][[:space:]][[:alpha:]][[:space:]][[:digit:]]\+//' input
Run Code Online (Sandbox Code Playgroud)