免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: The_X
打印 上一主题 下一主题

[文本处理] 读取文件的某一行,并分解字符串 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-09-25 15:50 |只看该作者
回复 9# ly5066113


    getline v  这个v是行号的意思吗?第一行就是getline 1 ?

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
12 [报告]
发表于 2014-09-25 15:50 |只看该作者
回复 9# ly5066113


    为啥getline以后,$i取的还是当前行,没有取到下一行呢?
   一直以为getline以后,awk就开始读下一行去了。。。

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
13 [报告]
发表于 2014-09-25 15:51 |只看该作者
回复 11# The_X


    getline v,是把下一行的$0取到变量v里面

论坛徽章:
0
14 [报告]
发表于 2014-09-25 15:55 |只看该作者
回复 13# bulletmarquis


    帮忙看一下10楼吧,不会语法,
拜托~~~~

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
15 [报告]
发表于 2014-09-25 16:07 |只看该作者
本帖最后由 bulletmarquis 于 2014-09-25 16:12 编辑

回复 14# The_X


首先取出第一行,然后根据;分解
再取出第二行,把第二行最后一个;去掉,并把这个字符串赋值给脚本中的一个变量namesrv


实在是看不懂你第一步和第二步有什么关联。。。
第一行根据分号分解以后做啥用?分解出来是放到一个数组里面还是做啥?

如果只是想取第二行,把最后的分号去掉再赋给变量,可以
  1. namesrv=$(sed -n 's/;$//;2p' file)
  2. echo $namesrv
  3. 10.10.10.30;10.10.10.31;10.10.10.32;10.10.10.33;10.10.10.60;10.10.10.61;10.10.10.62
复制代码
  1. $(sed -n 's/;$//;2p' file)也可以改成$(sed '2!d;s/;$//' file)
复制代码

论坛徽章:
0
16 [报告]
发表于 2014-09-25 16:18 |只看该作者
回复 15# bulletmarquis


    没联系。。。。
突然想起来一个重要的问题,已经开辟新帖子。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP