所以我有一条看起来像这样的线
somelongbullshit:888:morelongbullshitthatcanhaveanything
我想:
用制表符替换第二个。我可以可靠地将要替换的子字符串与以下内容匹配:
^.*:[0-9]*(:)
我想替换我在那里的那个子字符串。所以我试着做一些 sed
$ echo somelongbullshit:888:morelongbullshitthatcanhaveanything | sed 's/:[0-9]*(:)/\1\t/g'
sed: -e expression #1, char 19: invalid reference \1 on `s' command's RHS
但我得到一个错误。我确定有一些语法错误我错了,但对于我的生活,我可以找到它。
我也愿意接受更好的解决方案(如 awk)。
你可以
sed
像这样使用--regex-extended
开关:并非所有版本都
sed
可以识别该选项卡。所以按Ctrl+V并按键盘上的 Tab 键。使用这个命令