2018-04-16 wc -c 和 echo {#str} 对bash字符串长度计算有区别

  1. str="we are not the man who would just accept everything!"
    2022 $ echo ${#str}
    52
  2. str="we are not the man who would just accept everything! "
    2020 $ echo ${#str}
    53

对比发现string的末尾空格是会被算长度的

  1. 2008 $ echo ${str:2}
    are not the man who would just accept everything!
    2013 $ echo ${str:2}|wc -c
    50

  2. 2011 $ echo ${str:3}
    are not the man who would just accept everything!
    2012 $ echo ${str:3}|wc -c
    50

对比发现字符串截取时第一位是空格的话echo默认去掉了空格。

  1. 2014 $ str="we are not the man who would just accept everything! "
    [root@mc-adn-deploy-172-17-0-17@~@17:02:23]
    2015 $ echo ${str:2}|wc -c
    50

对比发现字符串末尾的空格在字符串被截取时也被移除了,所以长度和末尾没有空格时一样——这时因为用了wc -c ?
是的。请看:
2028 $ str2=${str:2}
2029 $ echo ${#str2}
54
此处将截取的字符串内容保存再算长度,得到的就是包含空格的长度。

echo是很好的去掉字符串开始和末尾的空格的一种方式!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,452评论 0 10
  • 今天是什么日子 起床:8点 就寝:1点14 天气:小雨 心情:还行 纪念日:无 任务清单 昨日完成的任务,最重要的...
    白夜天歌阅读 99评论 0 0
  • 【学员信息】301-碧水蓝天-小作业13 【作业要求】:根据Day25以及Day26课程,尝试找出1-2个自己未来...
    碧水蓝天_1阅读 136评论 0 0
  • 毛清姣 焦点中级二期 2019年3月30日 坚持分享第979天 两天的学习之旅在今天下午放下帷幕,回...
    Emily626阅读 208评论 0 3
  • 怀旧可能是人的一种天性,但过于沉溺在过去,容易让人消沉悲观,不能快乐地活在当下。 其实,世上没有后悔药,时光...
    女王殿下1884阅读 255评论 1 0