用分支命令删除所有的逗号

用分支命令删除所有的逗号

Content #

$ echo “This, is, a, test, to, remove, commas.” | > sed -n {' > :start > s/,//1p > b start > }' This is, a, test, to, remove, commas. This is a, test, to, remove, commas. This is a test, to, remove, commas. This is a test to, remove, commas. This is a test to remove, commas. This is a test to remove commas. ^C $ 脚本的每次迭代都会删除文本中的第一个逗号并打印字符串。这个脚本有一个问题:永远不会结束。这就形成了一个死循环,不停地查找逗号,直到使用Ctrl+C 组合键发送信号,手动停止脚本。

为了避免这种情况,可以为分支命令指定一个地址模式。如果模式不匹配,就不会再跳转: $ echo “This, is, a, test, to, remove, commas.” | > sed -n {' > :start > s/,//1p > /,/b start > }' This is, a, test, to, remove, commas. This is a, test, to, remove, commas. This is a test, to, remove, commas. This is a test to, remove, commas. This is a test to remove, commas. This is a test to remove commas. $ 现在分支命令只会在行中有逗号的情况下跳转。在最后一个逗号被删除后,分支命令不再执行,脚本正常结束。

From #

Linux命令行与shell脚本编程大全

用测试命令删除所有的逗号