免费注册 查看新帖 |

Chinaunix

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

sed中的变量 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-05-02 21:49 |只看该作者
你的问题是引用多次变量
相当于sed ${10}p file 跟sed $10p file完全不是一会事,后者是把10p当作变量名。
至于打印第几行,那要看$10是多少了,$10应该是shell的第10个参数
举个例子
  1. cat sed_tes.sh
  2. #!/bin/bash
  3. count=$1
  4. echo $count
  5. sed ${count}q $2
复制代码
  1. cat file
  2. 112233
  3. 1112233333
  4. 1123333
  5. 1111111
  6. 444444
复制代码
  1. ./sed_tes.sh 2 file
  2. 112233
  3. 1112233333
复制代码
看懂了没有?

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
12 [报告]
发表于 2010-05-02 22:12 |只看该作者
回复 10# shichunda

#cat urfile
1
2
3
4
5

#sed '2p' urfile
1
2
2
3
4
5

#sed -n '2p' urfile
2

现在理解了吗?

论坛徽章:
0
13 [报告]
发表于 2010-05-02 22:18 |只看该作者
回复  shichunda


现在理解了吗?
Shell_HAT 发表于 2010-05-02 22:12



    这个不是我说的问题。sed -n '2p' urfile是打印第二行这个我理解
我的意思是sed中有没有类似awk中的$。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
14 [报告]
发表于 2010-05-02 22:20 |只看该作者
回复 13# shichunda


这个,真没有。

论坛徽章:
0
15 [报告]
发表于 2010-05-02 22:27 |只看该作者
你的问题是引用多次变量
相当于sed ${10}p file 跟sed $10p file完全不是一会事,后者是把10p当作变量名。 ...
lltlk 发表于 2010-05-02 21:49



    那cat sed_tes.sh
#!/bin/bash
count=$1
echo $count
sed ${count}q $2
这里的$1,$2是shell中的,那${}还是shell中的变量了?应该不是sed中的变量吧?

论坛徽章:
0
16 [报告]
发表于 2010-05-02 22:30 |只看该作者
回复  shichunda


这个,真没有。
Shell_HAT 发表于 2010-05-02 22:20



    看北京台呢吧兄弟,呵呵

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
17 [报告]
发表于 2010-05-02 22:54 |只看该作者
回复 15# shichunda


在你这个例子中,$1是执行.sh文件时传进来的变量,然后$count你自定义的变量,相对于sed来说它仍是外部变量,不是sed自身的。

论坛徽章:
0
18 [报告]
发表于 2010-05-02 23:00 |只看该作者
明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP