【问题标题】:Split line from the end (cross-platform)从末端分割线(跨平台)
【发布时间】:2021-07-25 17:16:09
【问题描述】:

我有需要拆分的文本;即,在行尾的两个字符后放置空格。从“4.20GB”你需要得到“4.20GB”。我知道可以使用sedawk 等来完成,但我正在寻找一种轻量级且更跨平台的方法(适用于 Linux/Unix/BSD)。

是否可以使用bash 及其功能来做到这一点?出于某种原因,我认为 printf 可以做到,但快速检查并没有产生任何积极的结果。

【问题讨论】:

    标签: bash replace


    【解决方案1】:

    如果我理解正确,每行以一些数字结尾,后面跟着 GB,需要你在 GB 之前添加一个空格。我不应该使用 split 这个词来暗示你想将一行分成两行。

    试试:

    sed -i 's/GB$/ GB/' [filenames ...]
    

    我认为sedbash 更“跨平台”,因为无论你有bash,你很容易就会有sed,正如@fuxoft 在他的回答中所说。

    【讨论】:

      【解决方案2】:

      您正在寻找“比sed 更多的跨平台方法”,然后询问“是否可以使用bash 及其功能来实现?”

      可以肯定地说,sed 安装(或“易于安装”)在比bash 更多的计算机架构上,因此使用sed 应该比使用bash 更“跨平台”。

      【讨论】:

        猜你喜欢
        • 2012-04-01
        • 2019-11-10
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-18
        相关资源
        最近更新 更多