将字符串 rsubmit 替换为 * rsubmit

发布于 2024-10-30 13:13:40 字数 570 浏览 3 评论 0原文

我有包含如下行的文本文件:

--------------------------  
.... 
... rsubmit;  
........  
........ endrsubmit;  
.......  
...... rsubmit ;  
................  
....... endrsubmit ;  
..........  
-----------------------------  

I want to replace  
all 'rsubmit;'     with '* rsubmit;'  
all 'rsubmit ;'    with '* rsubmit ;'  
all 'endrsubmit;'  with '* endrsubmit;'  
all 'endrsubmit ;' with '* endrsubmit ;'  

简而言之,只需将星形空间放在开头即可。

我尝试使用 sed 's/rsubmit\;/\* rsubmit\;/g'
但这种方法无法处理那些“endrsubmit”

有人可以帮忙吗?

谢谢
萧艾文

I have text files with lines like these:

--------------------------  
.... 
... rsubmit;  
........  
........ endrsubmit;  
.......  
...... rsubmit ;  
................  
....... endrsubmit ;  
..........  
-----------------------------  

I want to replace  
all 'rsubmit;'     with '* rsubmit;'  
all 'rsubmit ;'    with '* rsubmit ;'  
all 'endrsubmit;'  with '* endrsubmit;'  
all 'endrsubmit ;' with '* endrsubmit ;'  

In short, just put star-space at the beginning.

I have tried to use sed 's/rsubmit\;/\* rsubmit\;/g'
but this method cannot take care of those 'endrsubmit'

Can any one help on this ?

Thanks
Alvin SIU

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烧了回忆取暖 2024-11-06 13:13:40

试试这个

sed 's/\(end\)\?rsubmit/* &/' 

Try this

sed 's/\(end\)\?rsubmit/* &/' 
旧情勿念 2024-11-06 13:13:40

Ruby(1.9+)

$ ruby -ne 'print $_.gsub(/(.[^ \t]*rsubmit)/,"*\\1")' file
--------------------------
....
...* rsubmit;
........
........* endrsubmit;
.......
......* rsubmit ;
................
.......* endrsubmit ;
..........
-----------------------------

或 awk

$ awk '{for(i=1;i<=NF;i++) { if ($i~/rsubmit/) { $i="* "$i } } }1' file

Ruby(1.9+)

$ ruby -ne 'print $_.gsub(/(.[^ \t]*rsubmit)/,"*\\1")' file
--------------------------
....
...* rsubmit;
........
........* endrsubmit;
.......
......* rsubmit ;
................
.......* endrsubmit ;
..........
-----------------------------

Or awk

$ awk '{for(i=1;i<=NF;i++) { if ($i~/rsubmit/) { $i="* "$i } } }1' file
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文