【问题标题】:how to insert new line after a specific character in scripts如何在脚本中的特定字符后插入新行
【发布时间】:2012-05-24 14:07:42
【问题描述】:

我有以下(example.txt)文件:

blue(4) red(8) green(5) yellow(19) brown(60) black(5)

如何在 unix 中实现以下结果?

blue(4) 
red(8) 
green(5) 
yellow(19) 
brown(60) 
black(5)

【问题讨论】:

    标签: shell unix scripting


    【解决方案1】:

    如果您需要在右括号后插入换行符,请尝试

    sed 's/) \?/)\n/g' example.txt
    

    【讨论】:

      【解决方案2】:

      以下内联 sed 脚本将用换行符替换空格,应该可以解决您的问题。

      sed -i 's/ /\n/g' example.txt > example_out.txt
      

      【讨论】:

        【解决方案3】:
        xargs -n 1 < example.txt 
        

        通过将example.txt 传递给xargs 一次接受一个参数-n 1,xargs 会将每个条目放在单独的行上。

        例如,每行放置两个条目只需将 -n 1 更改为 -n 2

        -n 选项在man page 上也称为max-args

        【讨论】:

          【解决方案4】:

          将您的数据传递给这个 sed 命令,如下所示:

          sed 's/ /\n/g' example.txt
          

          【讨论】:

            【解决方案5】:

            我需要实现这样的目标并使用sed 命令。它可用于对流执行功能。

            根据您的要求,您可以这样使用它:

            sed -i 's/ /\n/g' example.txt
            

            您可以在the sed man page 中阅读更多相关信息。

            【讨论】:

              猜你喜欢
              • 2017-10-03
              • 1970-01-01
              • 2019-09-14
              • 1970-01-01
              • 2021-12-02
              • 1970-01-01
              • 1970-01-01
              • 2011-12-10
              • 1970-01-01
              相关资源
              最近更新 更多