LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 986|回复: 6

求助,我想在sed中用变量,要怎么写呢?

[复制链接]
发表于 2005-4-25 09:59:32 | 显示全部楼层 |阅读模式
比如我想把一个文本的第2行显示出来
sed -n '2p' abc.txt
我现在想写一个脚本,用变量的值来控制显示的行数,我是这么写的:
sed -n "$Ip" abc.txt
但是一直无法成功,我想是系统把$Ip看成一个变量,怎么样才能分开他们呢,请教的大家!!!
 楼主| 发表于 2005-4-25 10:07:36 | 显示全部楼层
已经解决了,多谢大家
回复 支持 反对

使用道具 举报

发表于 2005-4-25 10:38:40 | 显示全部楼层
怎么解决的?写出来让大家学习学习:)

我是这样做的,方法笨了点:

  1. $cat abc.txt
  2. 1
  3. 2
  4. 3
  5. $rep="'1p'"
  6. $sed -n '1p' abc.txt
  7. 1
  8. $eval sed -n $rep abc.txt
  9. 1
  10. $
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-25 12:43:57 | 显示全部楼层
A=1
cat abc.txt | sed -n "$A"p
回复 支持 反对

使用道具 举报

发表于 2005-4-25 13:51:13 | 显示全部楼层
不错,再来一个:
A=1
sed -n ${A}p abc.txt
回复 支持 反对

使用道具 举报

发表于 2005-4-25 16:24:16 | 显示全部楼层
sed -n "$I p" abc.txt
用空格也可以。
回复 支持 反对

使用道具 举报

发表于 2005-4-25 18:35:26 | 显示全部楼层
perl -ne "print if $.==$n" file
or
ed -s file<<!
2p
!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表