免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3343 | 回复: 14
打印 上一主题 下一主题

[文本处理] 用sed去遍历文本文件碰到错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-07 20:37 |只看该作者 |倒序浏览
本帖最后由 HSRLJYHCY 于 2014-10-07 20:38 编辑

au11qap6j0tels2:KCU005P:/ora/admin#cat DF_list.txt
/ora/DB01/data001/KCU001P/KCU001Pcust_cdr_unbilled_tbl_01.dbf
/ora/DB01/data002/KCU001P/KCU001Pcust_cdr_unbilled_tbl_02.dbf
/ora/DB01/data003/KCU001P/KCU001Pcust_cdr_unbilled_tbl_03.dbf
/ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_01.dbf
/ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_02.dbf



au11qap6j0tels2:KCU005P:/ora/admin#cat mytest.sh
#!/bin/ksh
file_count=`sed -n '$=' DF_list.txt`
i=1
while(($i<=$file_count))
do
    sed -n '$ip' DF_list.txt
    i=$(($i+1))
done

(上面的这个简单脚本是想先获得文本文件的行数,然后从第一行到最后一行显示出来)

au11qap6j0tels2:KCU005P:/ora/admin#./mytest.sh
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip

执行脚本获得上面的错误,请高手帮忙

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
2 [报告]
发表于 2014-10-07 21:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
3 [报告]
发表于 2014-10-07 22:50 |只看该作者
本帖最后由 wiliiwin 于 2014-10-07 23:21 编辑

回复 1# HSRLJYHCY
  1. sed -n '$ip' DF_list.txt
复制代码
这里改成
  1. sed -n '‘$ip’' DF_list.txt
复制代码
或者
  1. sed -n "${i}p" DF_list.txt
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
4 [报告]
发表于 2014-10-08 09:04 |只看该作者
回复 2# zooyo

换了个头像,差点不认识了~{:3_182:}
   

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
5 [报告]
发表于 2014-10-08 19:22 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
6 [报告]
发表于 2014-10-09 09:18 |只看该作者
回复 5# zooyo

呀,又一朵鲜花……{:3_193:}
   

论坛徽章:
0
7 [报告]
发表于 2014-10-09 14:14 |只看该作者
To wiliiwin,

谢了,用 sed -n "${i}p" DF_list.txt能正常遍历

论坛徽章:
5
戌狗
日期:2014-06-09 10:29:10酉鸡
日期:2014-12-01 16:05:27处女座
日期:2015-01-07 18:35:262015亚冠之水原三星
日期:2015-06-03 09:26:222015亚冠之布里斯班狮吼
日期:2015-06-15 10:53:54
8 [报告]
发表于 2014-10-09 18:56 |只看该作者
回复 7# HSRLJYHCY


    楼主,方便给解释以下sed命令中'$='吗?

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
9 [报告]
发表于 2014-10-09 19:36 |只看该作者
回复 8# kaede_1
返回文件行数


   

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
10 [报告]
发表于 2014-10-09 20:14 |只看该作者
学生党:无聊~ python试试~

  1. $ cat yhsafe.py
  2. #!/usr/bin/env python
  3. # -*- coding: gbk -*-
  4. "just for fun ~ so so"

  5. from sys import argv

  6. for k,v in enumerate(open(argv[1]).readlines()):
  7.         print k+1,v,
复制代码
$ ./yhsafe.py yhsafe.txt
1 /ora/DB01/data001/KCU001P/KCU001Pcust_cdr_unbilled_tbl_01.dbf
2 /ora/DB01/data002/KCU001P/KCU001Pcust_cdr_unbilled_tbl_02.dbf
3 /ora/DB01/data003/KCU001P/KCU001Pcust_cdr_unbilled_tbl_03.dbf
4 /ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_01.dbf
5 /ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_02.dbf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP