【问题标题】:Replace period with dash via command line?通过命令行用破折号替换句点?
【发布时间】:2014-10-01 09:01:23
【问题描述】:

这是我当前的命令:

sed 's/\./-/' file.txt > CLEANED.txt

我想要做的是用破折号替换我文件中的所有句点。有些行有多个句点,我需要将它们全部替换为破折号 - 但上面的命令似乎只是替换了每行中的第一个。

不替换所有句点我做错了什么?

【问题讨论】:

    标签: perl shell command-line command


    【解决方案1】:

    添加/g 进行全局替换,否则仅影响第一次出现。 像这样:

    sed 's/\./-/g' file.txt > CLEANED.txt
    

    【讨论】:

      【解决方案2】:

      在 perl 中,只需将 /g modifier 添加到您的正则表达式中:

      perl -pe 's/\./-/g' file.txt > CLEANED.txt
      

      说明:

      开关

      • -p:为输入文件中的每个“行”创建一个 while(<>){...; print} 循环。
      • -e:告诉perl 在命令行上执行代码。

      代码

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-08
        • 1970-01-01
        • 1970-01-01
        • 2011-08-28
        • 2023-03-20
        • 1970-01-01
        相关资源
        最近更新 更多