请考虑以下几行:
prefix1.value[TAB]someString
prefix2.anotherVal[TAB]anotherString
val[TAB]String
pref.stuff[TAB]stuff
dontTouch[TAB]stuff
我想得到结果
value[TAB]someString
anotherVal[TAB]anotherString
val[TAB]String
stuff[TAB]stuff
dontTouch[TAB]stuff
所以如果有的话,我想剪切prefix.
。正则表达式以第一个匹配最长的方式工作,因此我无法创建工作程序。是否可以使用单个sed
程序执行此任务?
我的解决方案无法正常工作:
sed 's/^[^\t\.]*\.\?\([^\t\.]\+\)\t\(.*\)/\1\t\2/'
答案 0 :(得分:2)
这仅匹配前缀,并用空字符串替换它。
sed 's/^[^\t\.]*\.//'
答案 1 :(得分:1)
如果只有一个点可能,请尝试此操作:
sed -e 's/^.*\.//' file
答案 2 :(得分:1)
如果直到第一个点
sed 's/^[^.]*\.//' YourFile
如果直到最后一个点
se 's/.*\.//' YourFile
由你来定义你的前缀类型