本身想用简单的拿来主义,使用某搜索引擎推荐的博文,来去除Linux Shell中字符串变量头尾的空格。

但是,发现推荐的方法,竟然很多文章是用echo "some string" | sed xxx去除头尾空格的方法,有点旁门左道了点。。。

恰好最近根据https://github.com/wangdoc/bash-tutorial较为系统地学习了下bash shell的知识。

在Linux Shell中字符串变量的操作,基本上算作一大类,有查找、截取、替换等,何必不用原生的字符串类的操作方法来实现目的呢?研究了还是有此种方法的,特共享之!

# 字符串头部去除空格

 +  ${abcstr##*( )}

 +  ${abcstr##*([[:blank:]])}

 注:第一种含有空格,第二种表意更强

# 字符串尾部去除空格

 +  ${abcstr%%*( )}

 +  ${abcstr%%*([[:blank:]])}

# 字符串提取文件名

+ ${abcstr##*/}

 

# 字符串提取目录名

+ ${abcstr%/*}

注:此存在为自身的异常,注意防护

 

Refer:

https://github.com/wangdoc/bash-tutorial/blob/master/docs/string.md

https://github.com/wangdoc/bash-tutorial/blob/master/docs/expansion.md

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐