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

grep 和awk的使用

    来源: 互联网  发布时间:2016-06-13

    本文导语:  请教各位,我使用的系统是solaris 9 .现在我需要对一个1.4G的文本文件进行一个过滤操作,生成一个新的文件。所使用的命令是grep和awk 。但是我对这两个命令不是很熟悉。 比如:其中每一行数据的$1 属性相同,但...

请教各位,我使用的系统是solaris 9 .现在我需要对一个1.4G的文本文件进行一个过滤操作,生成一个新的文件。所使用的命令是grep和awk 。但是我对这两个命令不是很熟悉。
比如:其中每一行数据的$1 属性相同,但是后面的数据就不一样了。
cn.txt
9121:222233455:10.1233:aaa
9122:222233455:10.1233:a
9123:222233455:10.1233:bbb:d1
9124:222233455:10.1233

我需要过滤掉9123的信息也就是需要生成如下文件
9121:222233455:10.1233:aaa
9122:222233455:10.1233:a
9124:222233455:10.1233

该如何使用grep和awk命令啊?谢谢各位。

|
[root@manifold ~]# vi test.sh 
[root@manifold ~]# cat test.sh 
9121:222233455:10.1233:aaa 
9122:222233455:10.1233:a 
9123:222233455:10.1233:bbb:d1 
9124:222233455:10.1233 

[root@manifold ~]# cat test.sh |grep -v 9123 > filename
9121:222233455:10.1233:aaa 
9122:222233455:10.1233:a 
9124:222233455:10.1233 

[root@manifold ~]# vi test2.sh 
[root@manifold ~]# cat test2.sh 
9121:222233455:10.1233:aaa 
9122:222233455:10.1233:a 
9123:222233455:10.1233:bbb:d1 
9123:222233466:10.1234:bbb:d1 
9123:222233477:10.1235:bbb:d3 
9124:222233455:10.1233 
[root@manifold ~]# cat test2.sh | awk -F : '{print $1}' > filename
9121 
9122 
9123 
9123 
9123 
9124 
[root@manifold ~]# cat test2.sh | awk -F : '{print $1}' |uniq  > filename
9121 
9122 
9123 
9124 
[root@manifold ~]# 


行了,再看看。。。。

|
lz,你所需要的答案1和答案2都在这里了

[root@manifold ~]# vi test.sh
[root@manifold ~]# cat test.sh
9121:222233455:10.1233:aaa
9122:222233455:10.1233:a
9123:222233455:10.1233:bbb:d1
9124:222233455:10.1233

[root@manifold ~]# cat test.sh |grep -v 9123
9121:222233455:10.1233:aaa
9122:222233455:10.1233:a
9124:222233455:10.1233

[root@manifold ~]# vi test2.sh
[root@manifold ~]# cat test2.sh
9121:222233455:10.1233:aaa
9122:222233455:10.1233:a
9123:222233455:10.1233:bbb:d1
9123:222233466:10.1234:bbb:d1
9123:222233477:10.1235:bbb:d3
9124:222233455:10.1233
[root@manifold ~]# cat test2.sh | awk -F : '{print $1}'
9121
9122
9123
9123
9123
9124
[root@manifold ~]# cat test2.sh | awk -F : '{print $1}' |uniq
9121
9122
9123
9124
[root@manifold ~]#

|
简单

awk -F":" '{ if($1~/^9123>/) next; else print $0; }' oldfile.txt > newfile.txt

|

[code=BatchFile]
awk '!/9123/ {print}' cn.txt
[/code]

|


更简单了

awk -F":" '{ if($1~/^9123>/) next; else print $1; }' oldfile.txt > newfile.txt

|


这个可以用 grep -v xxx这个选项 来选中不符合xxx的内容

|

有点问题,改一下
[code=BatchFile]
awk '!/^9123/ {print}' cn.txt
[/code]

    
 
 

您可能感兴趣的文章:

  • grep 的使用(100分求救)
  • 怎么使用grep查找满足多个关键字任意一个的行
  • 怎样使用grep匹配这个文件里的内容
  • grep使用*问题
  • 使用grep正则表达式查找以x开头且不以y结尾的行
  • [询问]solaris下grep -v命令的使用,不解啊。。。。
  • 在linux下ps -auxw | grep resin | grep -v grep| awk '{print $2}'|-exec kill -9 {} ;
  • 在linux/unix中如何用Runtime.getRuntime.exec()执行ps -ef | grep SSS | grep -v grep | awk '{print $2}'
  • awk grep 怎么查找带 的行?
  • 我发现grep,awk和sed这三个工具功能类似,是不是只要掌握一种就行了?
  • kill -9 `ps -ef|grep 777|awk '{print $2}'` 这句话具体是什么意思呀?
  • grep、awk、sed等怎么匹配中文
  • 如何利用Bash脚本(利用awksedgrepwc等)来自动修改配置文件
  • 用grep、awk / cut 完成文本统计,请教高手!
  • Shell正则表达式之grep、sed、awk实操笔记
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • if ! ps -ef|grep cp|grep zw|grep -v grep|read nouse 啥意思?
  • linux bash shell命令:grep文本搜索工具简介
  • 在文件中用grep找出某些行,如果同时满足包含好几个字符串是用多次grep吗
  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • 'grep ^[A-D]' 和 'grep ^[ABCD]' ,结果是一样的吗?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 下面是用到的地方,请各位大侠多指教。 cat ../log/run_${DAYTIME}*|grep $Day| grep "resp,1062,"|./st
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • grep -Ev和grep -v有啥区别?(麻烦详细说明)
  • 关于 ps | grep 的问题
  • grep的单引号
  • grep如何过滤两个以上的选项
  • grep输出的相关问题
  • grep 搜索条件与的问题
  • 如何用grep来查找-或是--这个内容?
  • 求助!!!! GREP 、FIND问题 (在线等)
  • grep命令的怪事
  • grep出来以下内容该怎样进行显示?
  • UNIX/LINUX中grep查找文件个数有无限制
  • [求助]solaris下grep如何实现递归地查找某目录下的文件。


  • 站内导航:


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

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

    浙ICP备11055608号-3