【问题标题】:Shell Script: How to trim spaces from a bash variable [duplicate]Shell脚本:如何从bash变量中修剪空格[重复]
【发布时间】:2012-08-03 07:43:48
【问题描述】:

可能重复:
How to trim whitespace from bash variable?

我已经搜索并尝试了许多解决方案,但似乎没有什么对我有用...

我有一个 shell 变量,由于前导和尾随空格而导致问题。我们如何使用 shell 脚本去除一行中的所有空格?

【问题讨论】:

    标签: bash shell unix


    【解决方案1】:

    我能想到两个选择:

    variable="  gfgergj lkjgrg  "
    echo $variable | sed 's,^ *,,; s, *$,,'
    

    否则

    nospaces=${variable## } # remove leading spaces
    nospaces=${variable%% } # remove trailing spaces
    

    【讨论】:

    • nospaces=${variable// } 实际上删除了我的 Bash 中的前导和尾随空格
    • nospaces=${variable// } 删除所有空格
    • nospaces=${variable// } 删除所有空格
    • 第二个选项最多删除一个空格。这个method比较长,只适用于bash,但是效率很高,还可以处理制表符、换行符等。
    【解决方案2】:

    有很多方法可以实现这一点,awk oneliner:

    kent$  echo "    foo  -  -  -  bar   "|awk '{sub(/^ */,"",$0);sub(/ *$/,"",$0)}1'
    foo  -  -  -  bar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多