免费注册 查看新帖 |

Chinaunix

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

求教 awk 变成一行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-19 10:10 |只看该作者 |倒序浏览

  1. #test.sh
  2. #!/usr/bin/awk -f
  3. {
  4.         ip=$1
  5.         i=index($0,"\google")
  6.         if (i>1)
  7.         {
  8.                 ua = substr($0,i)
  9.                 print ip "\t" ua
  10.             
  11.         }
  12. }
复制代码


引用
  1. cat "$file" | awk -f '/usr/local/test.sh' > ./test.txt
复制代码



整了半天也不知道怎么把这个引用都放在一条语句中做.
理想结果形如:
  1. cat "$file" | awk ************ > ./test.txt
复制代码



大家帮忙看看,谢谢了

论坛徽章:
0
2 [报告]
发表于 2007-12-19 13:28 |只看该作者
急切

论坛徽章:
0
3 [报告]
发表于 2007-12-19 13:38 |只看该作者
不明白你的意思哦,什么叫 “整了半天也不知道怎么把这个引用都放在一条语句中做”  ,什么引用?什么做?

论坛徽章:
0
4 [报告]
发表于 2007-12-19 13:41 |只看该作者

回复 #3 seeLnd 的帖子

  1. cat "$file" | awk -f '/usr/local/test.sh' > ./test.txt
复制代码


/usr/local/test.sh也是一个shell脚本.
形如:
  1. #!/usr/bin/awk -f
  2. {
  3.         ip=$1
  4.         i=index($0,"\google")
  5.         if (i>1)
  6.         {
  7.                 ua = substr($0,i)
  8.                 print ip "\t" ua
  9.             
  10.         }
  11. }
复制代码



我就想把它变成一条语句,而不是通过这个 awk -f '/usr/local/test.sh' 来实现的

论坛徽章:
0
5 [报告]
发表于 2007-12-19 13:50 |只看该作者
你是指这个意思?

cat "$file" | awk '{ip=$1; i=index($0,"\google"); if(i>1){ua = substr($0,i); print ip "\t" ua}}'

放在同一行就需要用分号分隔开

论坛徽章:
0
6 [报告]
发表于 2007-12-19 13:57 |只看该作者
原帖由 seeLnd 于 2007-12-19 13:50 发表
你是指这个意思?

cat "$file" | awk '{ip=$1; i=index($0,"\google"; if(i>1){ua = substr($0,i); print ip "\t" ua}}'

放在同一行就需要用分号分隔开



谢谢了.~~~~~~~就那意思.
太谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP