LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: wangyl86

有趣的提取行号问题?

[复制链接]
 楼主| 发表于 2007-1-17 12:30:52 | 显示全部楼层
我想得到的是行号:
awk '/^0$/ {print FNR}' a
其中a是文件名
可这样什么也得不到啊 一片空白
回复 支持 反对

使用道具 举报

发表于 2007-1-17 12:36:59 | 显示全部楼层

呵呵,也是行号问题

看到wangyl86在抽行号,我也有个小问题:

如果这就可就以打出行号
LINE=`sed '/DROP TABLE IF EXISTS \`DEVICE\`/=' inputfile`

但这样就打不出来,我试改了好几种办法,也不行,求教一下大家
TABLE=DEVICE
LINE=`sed '/DROP TABLE IF EXISTS \`$TABLE\`/=' inputfile`
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 12:54:12 | 显示全部楼层
是啊 老兄 提取行号是个小问题 但是尝试来尝试去就是不行 甚感不爽 与兄共期高手指点
回复 支持 反对

使用道具 举报

发表于 2007-1-17 14:10:55 | 显示全部楼层
你把你文件的内容确切的贴出来,这个script应该没有问题的。
回复 支持 反对

使用道具 举报

发表于 2007-1-17 14:18:18 | 显示全部楼层
也可以试一下cat -n file | awk 'if ($2 == 0) print $1'
回复 支持 反对

使用道具 举报

发表于 2007-1-17 14:18:46 | 显示全部楼层
sorry应该是cat -n file | awk '{if ($2 == 0) print $1}'
回复 支持 反对

使用道具 举报

发表于 2007-1-17 14:21:24 | 显示全部楼层
非要管道的话

grep -n '^0$' file | cut -d: -f1

如果这样还是

可这样什么也得不到啊 一片空白


那么说明这一行0后面有空格或制表符。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 16:22:17 | 显示全部楼层
呵呵 简化内容烦请老兄看上面的第4帖和第5帖,我重发了两遍,不好意思再重发啦,我怕犯错误呀.嘿嘿.Iambitious  提供的帮助:cat -n file | awk 'if ($2 == 0) print $1'我用了一下:
cat -n a | awk 'if ($2 == 0) print $1'
还是得到1和2 两个结果而得不到一个1这样的结果
seamonkey老兄提供的
grep -n '^0$' a | cut -d: -f1                                                                    #  命令中的a是文本文件名,其内容我还是重发一遍附在下边啦
我试了试 什么也没得到
当然,加上管道和命令echo即:
grep -n '^0$' a | cut -d: -f1|echo
得到一空白行
我再罗嗦一下:我想得到第一个字符是0其后什么都没有的行的行号,而不想得到0  10那一行的行号,正确的结果应该是1而不是1和2
还烦请各位老大再赐教

附:文本a内容如下:
0
0 10
20
22
回复 支持 反对

使用道具 举报

发表于 2007-1-17 17:40:12 | 显示全部楼层
sorry,还是搞错了
cat -n file | awk '{if ($2 == 0 && NF == 2) print $1}'
或者awk '{if ($1 == 0 && NF == 1) print NR}'
应该ok了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 18:42:02 | 显示全部楼层
呵呵 是可以啦 谢谢Iambitious老兄,现在我能不能命令行里加上变量即:
P=0
cat -n file | awk '{if ($2 == $P && NF == 2) print $1}'
或者
awk '{if ($1 == $P && NF == 1) print NR}'
也就是说 把老兄提供的
cat -n file | awk '{if ($2 == 0 && NF == 2) print $1}'
或者
awk '{if ($1 == 0 && NF == 1) print NR}'
中0用变量P来代替
我试了试
这样无法执行,恳请再指点一下


附:文本a内容如下:
0
0 10
20
22
回复 支持 反对

使用道具 举报

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

本版积分规则

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