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

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

我有一个 bash 脚本,用于获取磁盘使用情况60%。如何删除%符号?使用 grep 还是 awk?

答案1

这应该可以做到:

sed 's/%//'

将琴弦穿过它以获得最佳效果。

答案2

不再需要诸如tr或之类的外部工具sed,因为 bash 可以自行完成此操作。

percentage="60%"
number=${percentage%\%}

%此语句从变量末尾删除最短的匹配子字符串(在本例中为转义的)。bash 中还内置了其他字符串处理功能。它甚至支持正则表达式。通常,您通常看到人们使用trsed或forawk的大部分操作grep都可以使用 bash 内置命令来完成。只是几乎没有人知道这一点并带来大炮……

http://tldp.org/LDP/abs/html/parameter-substitution.html#PSOREX1了解更多信息。

答案3

不要使用 sed,而使用 tr。

tr -d '%'

答案4

如果磁盘使用情况在变量中,则 bash 可以将其作为变量替换的一部分进行删除:

diskusagepct="60%"
echo "disk usage: ${diskusagepct%\%} percent"  # prints disk usage: 60 percent
diskusagenum="${diskusagepct%\%}"  # sets diskusagenum to 60

相关内容