bash数组问题
时间:2011-06-20
来源:互联网
有个文件如下:
复制代码
脚本如下,我想提取两个段:
复制代码
输出如下:
复制代码
注意第第二行,第一行只有两个段,"libpara"的长度应该是7的,结果打出来是8,其它行也是一样
第二行有三个段,第二段的"libpub"长度打出来是正常的
我试着打过
echo "$tag "
即后面加了很多空格,结果会出现空格从头开始覆盖的情况,最后一个字莫非是回车符?? 这是什么情况啊有没有人用过
- cat makelib.ini
- src/pub/libpara libpara
- src/pub/libpub libpub sss
- src/pub/db_public_lib db_public_lib
- src/pub/libring_buf libring_buf
- src/pub/libring_buf libring_buf_nolog
- src/pub/logger liblogger
- src/pub/libtableout libtableout
- src/admin/nodemng libnodemng
- src/admin/procmng libprocmng
- cat ../ss.sh
- #!/bin/sh
-
- while read line
- do
- sections=(`echo $line`)
- [ "${#sections[*]}" -lt 2 ] && continue
- tag="${sections[1]}"
- echo "${#tag}, tag: $tag"
- done < "makelib.ini"
- 8, tag: libpara
- 6, tag: libpub
- 14, tag: db_public_lib
- 12, tag: libring_buf
- 18, tag: libring_buf_nolog
- 10, tag: liblogger
- 12, tag: libtableout
- 11, tag: libnodemng
- 11, tag: libprocmng
第二行有三个段,第二段的"libpub"长度打出来是正常的
我试着打过
echo "$tag "
即后面加了很多空格,结果会出现空格从头开始覆盖的情况,最后一个字莫非是回车符?? 这是什么情况啊有没有人用过
作者: mpstat 发布时间: 2011-06-20
明显你的文本是CRLF结尾的windows格式的,CR被计算到字符个数里了
作者: liion631818 发布时间: 2011-06-20
回复 liion631818
果然。。。。
用了dos2unix后就发现正常了
果然。。。。
用了dos2unix后就发现正常了
作者: mpstat 发布时间: 2011-06-20
回复 liion631818
那为什么在vim里看不到^M?
那为什么在vim里看不到^M?
作者: mpstat 发布时间: 2011-06-20
回复 mpstat

这个不懂,我打开有看到^M,是不是你改设置了?

这个不懂,我打开有看到^M,是不是你改设置了?
作者: liion631818 发布时间: 2011-06-20
为什么你的read可以读到^M???????????
作者: liion631818 发布时间: 2011-06-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28