grep基本用法
格式:grep [选项] [模式] [文件]
 
选项:
-c:只显示有多少行匹配 ,而不具体显示匹配的行
-n:在每一行前面打印该行在文件中的行数
-i:在字符串比较的时候忽略大小写
-v:显示不包含匹配文本的所欲行
 
实例1
ls -l | grep -n "^d" #找到以d开头的内容
ls -l|grep -n "feigu" #找到以feigu开头的内容
 
 
 
awk基本用法
 格式
awk [-F field-separator] 'commands' inputfile
awk -F: 'commands' inputfile 
awk -f awk-scpript-file inputfile
 
实例1
ls -l|awk '{print $1,$2}' #打印出该文件第一列和第二列的内容。注意只能是单引号。awk默认使用空格分隔符,所以省略了-F。$1,$2...$n,这种方法称为域标记。
 
 
cat /etc/passwd|awk -F: '$1=="feigu" {print $0}' #第一列的值为feigu。$0表示使用所有域
cat /etc/passwd|awk -F: '$1=="games" {print $0}' #第一列的值为games 。$0表示使用所有域 。-F表示指定分隔符
 
cat baidu.log|wc -l  #统计baidu.log 文件的行数
 

sed基本用法
sed [选项] [定址commonds] [inputfile]
sed [选项] -f scriptfile inputfile
./scriptfile inputfile(命令脚本首行:#!/bin/sed -f)
 
选项:
-n 关闭默认输出,默认将自动打印所有行
-e 多点编辑,允许多个脚本指令被执行
-r 支持扩展正则+ ? () {} |
-f 支持使用脚本
-i 直接修改原文件,慎用
定址:
定址可以是0个,1个,2个。通知sed去处理文件的哪几行。
0个,处理文件所有行
1个,处理行号所在位置的行
2个,处理被行号或正则包起来的行
 
命令:
p        打印行
d        删除行
s         替换
a         之后添加一行append
i         当前行之前插入文本-instert
 
实例1
sed -n '1p' baidu.log #打印出文件第一行
sed -n '1,3p' baidu.log #打印出文件1-3行 ,注意是逗号分隔
 
sed "s/python/java/g" baidu.log #将文件中python字符串替换成java字符串
注释:s表示替换命令,/my/表示匹配my,/java/表示把匹配的替换成java,/g表示 替换所有的匹配
 
 
sed "s/^/#/g" baidu.log #在每一行最前面加#号
 
sed "s/$/----/g" baidu.log #在每一行最后加----
 
相关正则
 
     ^ 表示一行的开头。如:/^#/ 以#开头的匹配
$ 表示一行的结尾。如:/}$/ 以}结尾的匹配。
\< 表示词首。 如 \<abc 表示以 abc 为首的詞。
\> 表示词尾。 如 abc\> 表示以 abc 結尾的詞。
. 表示任何单个字符。
* 表示某个字符出现了0次或多次。
[ ] 字符集合。 如:[abc]表示匹配a或b或c,还有[a-zA-Z]表示匹配所有的26个字符。如果其中有^表示反,如[^a]表示非a的字符
 
 

linux基础(8)-文件处理(awk 、sed、grep)的更多相关文章

  1. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  2. awk\sed\grep 补充

    # awk\sed\grep 补充 以上命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符 sed's:test:TEXT:g' sed's|test|TEXT|g' 定界符出现在样式内 ...

  3. 【linux系统】命令学习(六)awk sed grep 与管道的使用

    程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...

  4. 一、linux基础-对文件操作

    1.1文件夹创建-复制-移动-重命名-删除1.创建文件夹mkdir zjbdir 2.复制文件/文件夹复制文件到:当前目录cp -r zjbdir  zjbdir201600819复制文件到:当前目录 ...

  5. Linux 基础——查看文件内容的命令

    第四天,继续学习.今天看到一句话,"你以为你以为的就是你以为的吗?",这句话还是有点意思啊!!! 一.查看文件内容的命令 file dest:查看文件的类型.在Linux中,文件的 ...

  6. Linux的文本处理工具浅谈-awk sed grep

    Linux的文本处理工具浅谈 awk   老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...

  7. Linux 三剑客 -- awk sed grep

    本文由本人收集整理自互联网供自己与网友参考,参考文章均已列出,如有侵权,请告知! 顶配awk,中配sed,标配grep awk 参考 sed 参考 grep 参考 在线查看linux命令速记表 app ...

  8. linux删除空行操作:awk、grep、tr、sed

    如下:如何删除空行 shen\nshen\\n sen seh sehe she she 真正删除空行,可以使用vim: 通过命令模式删除空行.vim在命令模式下(在vim里输入英文字符:进入命令模式 ...

  9. awk sed grep 详解

    Linux的文本处理工具浅谈 awk [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS竖着切,列 ...

  10. awk sed grep 常用命令

    文本间隔 在每一行后面增加一空行: sed G sed G v1 >v2 在每一行后面增加两行空行: sed 'G;G' 将第一个脚本所产生的所有空行删除(即删除所有偶数行): sed 'n;d ...

随机推荐

  1. 【BZOJ1912】[Apio2010]patrol 巡逻 树形DP

    [BZOJ1912][Apio2010]patrol 巡逻 Description Input 第一行包含两个整数 n, K(1 ≤ K ≤ 2).接下来 n – 1行,每行两个整数 a, b, 表示 ...

  2. 关于string的replace方法

    今天写代码遇见一个小问题,就是当string  a,b,c,d当腰删除b的时候如果replace(“a”,"");会造成,b,c,d   所以得replace("a&qu ...

  3. coursera 《现代操作系统》 -- 第五周 同步机制(2)

    分清紧急等待队列与条件等待队列(c 链) 条件等待队列:但是进入管程的这个进程可能由于对资源的操作的过程中发现条件不成熟, 那么它就不能够继续对资源进行相应的操作. 我们以生产者. 消费者为例. 如果 ...

  4. 通知url必须为直接可访问的url,不能携带参数 异步接收微信支付结果通知的回调地址 不能携带参数。 回调地址后是否可以加自定义参数 同步回调地址 异步回调地址 return_url和notify_url的区别

    [微信支付]微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7 通知url必须为直接可访问的 ...

  5. Java线程的5种状态及切换

    ava中的线程的生命周期大体可分为5种状态. 1. 新建(NEW):新创建了一个线程对象. 2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方 ...

  6. JavaScript事件onblur与onfocus区别

    一.onblur 1.1 说明 onblur属性在元素失去焦点时触发,onblur常用于表单验证代码(例如用户离开表单字段). 1.2 示例 <input type="text&quo ...

  7. Python迭代器包itertools(转)

    原文:http://www.cnblogs.com/vamei/p/3174796.html 作者:Vamei 在循环对象和函数对象中,我们了解了循环器(iterator)的功能.循环器是对象的容器, ...

  8. 002-maven修改仓库以及镜像地址

    1.将下载好的maven,修改配置 <localRepository>G:\mavenrepository-idea</localRepository> 2.修改增加镜像地址 ...

  9. ELBO 与 KL散度

    浅谈KL散度 一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information dive ...

  10. 鸟哥的Linux私房菜-第一部分-第3章主机规划与磁盘分区

    1. 选择一个与你的Linux搭配的主机配置 NAT服务器:小型企业或者学校都基本是只有一条对外的线路,网卡 SAMBA服务器:完成Windows网上邻居的功能,网卡和硬盘要求高 Mail服务器:如果 ...