本身想用简单的拿来主义,使用某搜索引擎推荐的博文,来去除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

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐