当前位置:  技术问答>linux和unix

求教shell编程 谢谢!

    来源: 互联网  发布时间:2016-12-30

    本文导语:      1.文件a,每行两列,格式为url ip,文件b每行一列,格式为url,通过awk实现找出b文件中的url是否在a文件中,如存在,将此url和对应的ip输出(文件大小不考虑)     2.通过sed实现将包含aaaa的行删除,同时将包...

    1.文件a,每行两列,格式为url ip,文件b每行一列,格式为url,通过awk实现找出b文件中的url是否在a文件中,如存在,将此url和对应的ip输出(文件大小不考虑)
    2.通过sed实现将包含aaaa的行删除,同时将包含bbbb的行替换为cccc
   3. 通过grep匹配相关的url,并提取出file名,规则为:以http://开始,主域为tt.com,二级目录为不包含大写字母的非目录型url,如http://abc.tt.com/123abc/filename.html符合规则,file名为filename 

|
1. awk 'NR==FNR{a[$0]}NR>FNR{if($1 in a)print}' b a 
或 awk 'ARGIND==1{a[$0]}ARGIND>1{if($1 in a)print}' b a

2. LZ的意思是把bbbb的行换成cccc,楼上都有问题
  答案:sed '/aaaa/d;/bbbb/ccccc'

3.域名是否定长?如果定长用一个grep应该差不多,不定长用awk更好
  grep -Po '(?FNR&&a[$1]{print $1,a[$1]}' a b
http://www.sina.com.cn 218.106.86.93
http://www.163.com.cn 218.211.8.16

第2个:
sed -e 's/bbbb/cccc/g;/aaaa/d' xx


|


首先cat b a是输出b和a的内容,例如
http://www.sina.com.cn
http://www.163.com.cn
http://www.ddd.com
http://www.sina.com.cn  218.106.86.93
http://www.163.com.cn   218.211.8.16
http://www.qq.com.cn    218.34.12.32
http://www.tt.com.cn    218.112.86.93
http://www.sohu.com.cn  218.106.82.91
然后if(NF==1)f[$1]=1是指
当一行只有一列的时候,记录该行的信息,如f[http://www.sina.com.cn]=1,
这样b文件中的每个url都会等于1.
else if(f[$1]>0)print
当读到a的时候,如果f[$1]>0则代表是b有的,如果b没有的则f[$1]=0,
最后就输出

不知道这样讲你是否清楚



|
f[$1]=1 是在标记 ,f[http://www.sina.com.cn] = 1. if(f[$1]>0)就是在判断,url有没有标记过.

|
第一题:
cat b a | awk '{if(NF==1)f[$1]=1;else if(f[$1]>0)print}'

第二题:
sed -e 's/bbbb/cccc/g;/aaaa/d' xx

|
sed '/aaaa/d;s/bbbb/cccc' xx.txt

    
 
 

您可能感兴趣的文章:

  • shell编程中,求教,查找子字符串位置的问题
  • 求教,linux下c编程时怎么导入命令行?
  • 求教!为何在socket编程中调recv函数无法阻塞?
  • 菜鸟求教!--linux编程初学者
  • socket编程求教
  • 求教各位大大:关于vi或top命令出现的界面,如何编程才能实现?
  • 内核编程问题求教!!!!
  • 求教:Linux下的socket编程
  • 编程技巧求教
  • socket 编程recvfrom 问题...求教
  • 求教一个shell编程问题!
  • 求教linux shell编程问题
  • 求教linuxC编程
  • linux下的Gmail编程求教
  • 求教关于socket编程问题
  • LIUNX编程问题求教
  • 初接触linux,高分求教linux下C++编程。
  • 求教,Linux下如何编程实现播放视频文件?
  • 【求教】还是关于linux下用纯c编程的问题!!(在线等)
  • 求教linux下的mysql编程连接!
  • 求教:linux下用squid设置反向代理?急!谢谢!
  • 求教connection的问题!谢谢
  • 求教,关于学习RMI的资料,谢谢(急需)。
  • 求教一个简单的关于管道使用的问题,谢谢
  • 求教前辈们一个关于finalize()的问题,谢谢大家帮助:)
  • grub-install安装出错,求教,谢谢
  • dup2的问题,百思不得其解,求教,谢谢
  • [求教]关于java的线程问题,谢谢帮忙 问题如下: ...........
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • linux进程fork求教,谢谢
  • 求教:VM下LINUX的X WINDOWS 问题。先谢谢了.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • 高分求教:如何将JAVA文件(.class)制作成可执行文件(.exe),求教方法或工具推荐
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • JDK1.3.1初级问题求教
  • 初学者有问题求教!
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • Linux远程访问的问题,高分求教:)
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 求教JAVA中XML解析问题
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 400分求教JAVA皮肤的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3