如何查找特定的字符组合并添加换行符

时间:2018-09-25 18:23:13

标签: sed

我有一个看起来像这样的大文件

(something,something1,something2),(something,something1,something2)

我如何使用sed并找到),(并将其替换为);(或在括号之间添加带有逗号的换行符。

我确实尝试过sed 's/),(/),\n(/g' filename.txt,但由于某种原因它不起作用

2 个答案:

答案 0 :(得分:0)

对于那些来这里并想知道它是如何工作而又不会产生大量stackoverflow“问候”的人

由于我使用的是Mac OS X,因此您需要将\n替换为\'$'\n'' 因此找到),(并在括号之间添加新行,这是我使用的命令 sed 's/;/\'$'\n''/g' testdone.txt > testdone2.txt

ES

答案 1 :(得分:0)

echo "(something,something1,something2),(something,something1,something2)" | sed "s|),(|);(|"

这为我打印了以下内容。

(something,something1,something2);(something,something1,something2)

换行

echo "(something,something1,something2),(something,something1,something2)" | sed "s|),(|)\n(|"

上面显示的内容如下。

(something,something1,something2)
(something,something1,something2)