假设我有一个文档,其中所有行的格式如下:

1;23;3453;12312;32423;qwrewre;werwer
ert1;23;jdkj;seiuryy8743;874w65;hjfd;1234
df;23;3453;12312;sdjh;qwrewre;werwer

我如何使用sed将第二次出现的分号(;)替换为管道(|),以便文档看起来像:
1;23;3453|12312|32423|qwrewre|werwer
ert1;23;jdkj|seiuryy8743|874w65|hjfd|1234
df;23;3453|12312|sdjh|qwrewre|werwer

我尝试使用sed 's/;/|/19g,但是用pipe替换了所有分号。

感谢您的帮助。

最佳答案

通过做这个:

$ echo '1;23;3453;12312;32423;qwrewre;werwer' | sed 's/;/|/3g'
1;23;3453|12312|32423|qwrewre|werwer

08-06 12:32