最直接的方式是将sed替换称为两次.但是我觉得这个sed的一行代码可能会更好,因为它的工作原理,如果你说,我想递归替换|||..{n}..|成|""|""|...{n}..|""|
sed ':a s/||/|""|/g; t a' file
Run Code Online (Sandbox Code Playgroud)
测试您的数据:
kent$ cat f
||||||
kent$ sed ':a s/||/|""|/g; t a' f
|""|""|""|""|""|
Run Code Online (Sandbox Code Playgroud)