如何在同一行上对子字符串的多个实例进行 gsed
How to gsed multiple instance of a substring on the same line
我有一个12k的单行文件。
文件中有零个 \n 字符。
都是一行
为了方便进一步处理,我想在某个字符串后插入一个\n字符,比如'foo',我知道我可以用gsed来做。
gsed 只找到 foo 的第一个实例而忽略其余的,因为所有 foo 都在同一条 12k 行上。
例如:
I am no foo so I pity the foo who tries to foo with me
<--- 都在同一行
变为:
I am no foo
so I pity the foo
who tries to foo
with me
我看过 tr 和 awk,但它们也不太适合。
如有任何线索,将不胜感激。
能否请您尝试以下。
awk '{gsub(/foo /,"&\n")} 1' Input_file
我有一个12k的单行文件。
文件中有零个 \n 字符。
都是一行
为了方便进一步处理,我想在某个字符串后插入一个\n字符,比如'foo',我知道我可以用gsed来做。
gsed 只找到 foo 的第一个实例而忽略其余的,因为所有 foo 都在同一条 12k 行上。
例如:
I am no foo so I pity the foo who tries to foo with me
<--- 都在同一行
变为:
I am no foo
so I pity the foo
who tries to foo
with me
我看过 tr 和 awk,但它们也不太适合。
如有任何线索,将不胜感激。
能否请您尝试以下。
awk '{gsub(/foo /,"&\n")} 1' Input_file