我有一个 bash 脚本,用于获取磁盘使用情况60%
。如何删除%
符号?使用 grep 还是 awk?
答案1
这应该可以做到:
sed 's/%//'
将琴弦穿过它以获得最佳效果。
答案2
不再需要诸如tr
或之类的外部工具sed
,因为 bash 可以自行完成此操作。
percentage="60%"
number=${percentage%\%}
%
此语句从变量末尾删除最短的匹配子字符串(在本例中为转义的)。bash 中还内置了其他字符串处理功能。它甚至支持正则表达式。通常,您通常看到人们使用tr
、sed
或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