如何删除 bash 脚本的某个符号

pme*_*ino 8 scripting linux bash grep awk

我有一个 bash 脚本,可以在其中获取磁盘使用情况,例如60%. 如何删除%符号?使用 grep 还是 awk?

Hol*_*ust 11

永远不需要像 bash 这样的外部工具tr,甚至sedbash 都可以自行完成。

percentage="60%"
number=${percentage%\%}
Run Code Online (Sandbox Code Playgroud)

此语句%从变量的末尾删除最短的匹配子字符串(在本例中为转义的)。bash 中还内置了其他字符串操作工具。它甚至支持正则表达式。一般来说,大多数的你通常看到的人使用的东西trsedawkgrep用于可以使用内建的bash来完成。几乎没有人知道这一点并带来了大枪......

有关更多信息,请参阅http://tldp.org/LDP/abs/html/parameter-substitution.html#PSOREX1


wom*_*ble 6

这应该这样做:

sed 's/%//'
Run Code Online (Sandbox Code Playgroud)

用管子穿过它以获得最佳效果。

  • 缺少一个“g”,否则它只会匹配每行中的第一个 %。所以让它's/%//g'。 (2认同)

小智 6

使用 tr 代替 sed。

tr -d '%'
Run Code Online (Sandbox Code Playgroud)