在Unix shell中提取子串的最简单方法是什么?
本站教程收集整理的这篇文章主要介绍了在Unixshell中提取子串的最简单方法是什么?,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。
本站教程收集整理的这篇文章主要介绍了在Unix shell中提取子串的最简单方法是什么?,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。在Unix sHell(使用正则表达式)上提取子字符串的最简单方法是什么?
简单意味着:
>减少功能
>减少选择
>少学习
更新
我意识到正则表达式本身与简单性相冲突,我选择了最简单的一个作为选择的答案.对于模糊的问题我很抱歉.我更改了标题以更准确地表示此QA的当前状态.
切割可能有用:$echo Hello | cut -c1,3 hl $echo Hello | cut -c1-3 Hel $echo Hello | cut -c1-4 Hell $echo Hello | cut -c4-5 lo
SHell BuilTins对此也有好处,下面是一个示例脚本:
#!/bin/bash # Demonstrates sHells built in ability to split stuff. Saves on # using sed and awk in sHell scripts. Can Help perfoRMANce. shopt -o nounset declare -rx FILename=payroll_2007-06-12.txt # Splits declare -rx NAME_PORTiON=${FILename%.*} # Left of . declare -rx EXTENSION=${FILename#*.} # Right of . declare -rx NAME=${name_PORTION%_*} # Left of _ declare -rx DATE=${name_PORTION#*_} # Right of _ declare -rx YEAR_MONTH=${DATE%-*} # Left of _ declare -rx YEAR=${YEAR_MONTH%-*} # Left of _ declare -rx MONTH=${YEAR_MONTH#*-} # Left of _ declare -rx DAY=${DATE##*-} # Left of _ clear echo " Variable: (${FILename})" echo " Filename: (${name_PORTION})" echo " Extension: (${EXTENSION})" echo " Name: (${name})" echo " Date: (${DATE})" echo "Year/Month: (${YEAR_MONTH})" echo " Year: (${YEAR})" echo " Month: (${MONTH})" echo " Day: (${DAY})"
那输出:
Variable: (payroll_2007-06-12.txt) Filename: (payroll_2007-06-12) Extension: (txt) Name: (payroll) Date: (2007-06-12) Year/Month: (2007-06) Year: (2007) Month: (06) Day: (12)
并且根据上面的Gnudif,总是有sed / awk / perl,因为什么时候变得非常艰难.
本站总结
以上是本站教程为你收集整理的在Unix shell中提取子串的最简单方法是什么?全部内容,希望文章能够帮你解决在Unix shell中提取子串的最简单方法是什么?所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。
《在Unix shell中提取子串的最简单方法是什么?》来自互联网同行内容,若有侵权,请联系我们删除!
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~