Jon*_*ayo 2 debugging bash terminal isolation
假设我的 IP 地址为123.456.789.01
我想删除最后一个八位字节 123.456.789。01但不是句号。
所以我剩下的是123.456.789.
任何帮助表示赞赏。谢谢。
Linux终端
我尝试隔离最后一个八位字节,但这只是给了我最后一个八位01字节123.456.789.:
$ address=123.456.789.01
$ oct="${address##*.}"
$ echo "$oct"
01
Run Code Online (Sandbox Code Playgroud)
@WiktorStribi\xc5\xbcew 有正确的答案。
\n其他一些(更深奥的)技术:
\n由于${address##*.}删除了最后一个点,留下了八位字节,我们可以从字符串的末尾删除它:
echo "${address%${address##*.}}" # => 123.456.789.\nRun Code Online (Sandbox Code Playgroud)\n使用extglobshell 选项,我们启用扩展模式,并可以从字符串末尾删除最长的一个或多个数字序列
shopt -s extglob\necho "${address%%+([0-9])}"\n# or, with a POSIX character class\necho "${address%%+([[:digit:]])}"\nRun Code Online (Sandbox Code Playgroud)\n| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |