免费注册 查看新帖 |

Chinaunix

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

请问如何获得匹配串第一次出现在文件中位置(行号)? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-09-19 11:26 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

原帖由 "Minsic" 发表:
   

这样会打印所有匹配行的行号啊
   

哦,没有看到第一次,sorry

那就来个 head -1 吧
eval sed -n '/$str/=' $filename | head -1

呵呵

论坛徽章:
0
12 [报告]
发表于 2003-09-19 11:39 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

  1. $cat bb
  2. a d n
  3. bsdf
  4. cty
  5. a dfdf
  6. a ghg
  7. $grep -n a bb|sed -n 1p  #第一次出现的行号
  8. 1:a d n
  9. $grep -n a bb|sed -n 3p    #第三次出现的行号
  10. 5:a ghg
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
13 [报告]
发表于 2003-09-19 11:42 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

  1. var=your_special_word
  2. sed -n "/${var}/{=;q;}" filename
复制代码

论坛徽章:
0
14 [报告]
发表于 2003-09-19 11:51 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

var1=匹配串
var2=filename
sed "/${var1}/"q ${var2}|sed -n '$='
不行啊!

论坛徽章:
0
15 [报告]
发表于 2003-09-19 11:51 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

  1. [Bossdev]$ cat hh1
  2. 111
  3. 222
  4. 333
  5. 444
  6. 222
  7. 555
  8. 222     
  9. [Bossdev]$ str="222"
  10. awk '{
  11.         if($0~/'"$str"'/){
  12.         print NR
  13.         exit
  14.         }
  15. }' hh1
  16. 2
复制代码

论坛徽章:
0
16 [报告]
发表于 2003-09-19 11:52 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

  1. [Bossdev]$ cat hh1
  2. 111
  3. 222
  4. 333
  5. 444
  6. 222
  7. 555
  8. 222     
  9. [Bossdev]$ str="222"
  10. awk '{
  11.         if($0~/'"$str"'/){
  12.         print NR
  13.         exit
  14.         }
  15. }' hh1
  16. 2
复制代码

论坛徽章:
0
17 [报告]
发表于 2003-09-19 11:55 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

var=your_special_word
sed -n "/${var}/{=;q;}" filename
也不行啊

论坛徽章:
0
18 [报告]
发表于 2003-09-19 11:57 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

原帖由 "zd4281" 发表:
var1=匹配串
var2=filename
sed "/${var1}/"q ${var2}|sed -n '$='
不行啊!
   

大家提供了这么几种方法,怎么不都试试呢?     

提示什么错误,说一下吧

论坛徽章:
0
19 [报告]
发表于 2003-09-19 11:58 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

我是新手啊!他们的sed方法我都试过了不行啊, awk我根本就不懂!

论坛徽章:
0
20 [报告]
发表于 2003-09-19 12:03 |只看该作者

请问如何获得匹配串第一次出现在文件中位置(行号)?

var1=zd
var2=zd
sed "/${var1}/"q ${var2}|sed -n '$='
错误提示:
/zd/q: not found
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP