如何将模式移动到行的开头?
1702,1833,09C4,098C:325F|Sky|sportdigital|TV|Sky sonstige
应该是
325F:1702,1833,09C4,098C|Sky|sportdigital|TV|Sky sonstige
我发现当我找到模式时,我可以在开头插入一个字符或一个单词。但我不会让它移动我的搜索模式...
sed -r '/(:325F)/ s/^/#/'
当我的模式“:325F”被找到时,这会在开头添加一个“#”。
当我这样做时:sed -r '/(:325F)/ s/^/\1/'
它给了我一个错误......
有没有什么提示让我朝着正确的方向前进?
BR 克里斯
答案 0 :(得分:2)
您可以直接在sed中使用查找和替换。
sed 's/^\([^:]*\):\([^|]*\)/\2:\1/' file
示例:
$ echo '1702,1833,09C4,098C:325F|Sky|sportdigital|TV|Sky sonstige' | sed 's/^\([^:]*\):\([^|]*\)/\2:\1/'
325F:1702,1833,09C4,098C|Sky|sportdigital|TV|Sky sonstige
$ echo '1702,1833,09C4,098C:325F|Sky|sportdigital|TV|Sky sonstige' | sed 's/^\([^:]*\):325F/325F:\1/'
325F:1702,1833,09C4,098C|Sky|sportdigital|TV|Sky sonstige