grep,sed,awk用法整理】的更多相关文章

最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk…
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color=auto 或者 --color:表示对匹配到的文本着色显示 -i:在搜索的时候忽略大小写 -n:显示结果所在行号 -c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数 -o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行 -v:输出不带关键字的行(反向查询,反…
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep grep已经用得够多了不需要再特别地说明用法,就罗列一下几个不太熟悉的参数: -v 反选 比如常用ps -ef | grep -v grep来把grep本身的那条进程去掉 -E 跟一个扩展正则表达式以增强grep的匹配功能. -i 忽略大小写地匹配 -q (常用于脚本)进行一个grep的判断,如果找到了返回…
grep: 全称Global Regular Expression Print, 是干什么的,不多说了: 用法:grep [-options] [pattern] [filename] 选项: -c: 只输出匹配行的数目 -i: 不区分大小写 -n:显示匹配航以及行号 -l:查询多文件的时候只输出包含匹配字符的文件名 -L: 列出不匹配的文件名: -v:反向匹配,即显示不匹配的行 -h: 查询的时候不适用文件名 -s:不显示错误信息 -E 使用扩展正则表达式 //很有用啊, -A :后跟一个数字…
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.2.11 netmask 255.255.255.0 broadcast 192.168.2.255 ether 00:0c:29:41:85:df txqueuelen 1000 (Ethernet) RX packets 17934 bytes 9131091 (8.7 MiB) RX…
sed '/Started/'q  匹配到Started字符串则退出sed命令 sed '/Started/{/in/q}'  同时匹配到Started和in两个字符时则退出sed命令 ---------------------------------------------------------------- sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:     …
grep -c 打印出符合要求的行数 -i 忽略大小写              ignore -n 连同符号一起输出          num -v 打印出不符合要求的行 -A2 本行及下面两行 -B2 本行及上面两行 -C2 本行及上下两行 grep ^root passwd    #过滤以root开头的行 grep root$ passwd    #过滤以root结尾的行 grep -i ^root passwd    #不区分大小写,过滤以root结尾的行 grep -E "^root|…
find :查找文件系统中指定的文件.可以按文件名(-name)  权限(-perm) 归属人 查找. find   要查找文件的路径   表达式 *通配符  可以添加在文件名的任意位置 常用的例子(具体可参照 find --help): find . -name 1.txt             在当前目录以及子目录下查找文件 1.txt find /tmp -name 1.txt       在/tmp目录以及子目录下查找文件 1.txt find /bin/ -perm 4755 | x…
在学习Linux命令中,发现3个有关于文件内容操作的命令grep,sed和awk,在这里简单汇总这3个命令主要作用,在实际中找到最合适的情景应用,详细用法可以参考其他文章. 1.grep命令 主要作用:用于搜索文件中特定字符串,并输出整行内行 命令格式:grep [选项参数] "搜索内容" 文件(选项参数-r时为目录) 选项参数:-v 反选:-i忽略大小写:-r 递归:-n显示匹配位于第几行及内容:-c统计有多少行被匹配:-A之前多少行内容:-B之后多少行内容:-C前后多少行内容 例子…
printf "1:2::3:::4::::5" | awk -F '[:]+' '{print $4}' [:]+ 表示以1个或多个 :(冒号)作为分隔符 ip  addr  |awk  -F  '[ ]+'  'NR==8  {print $3}' | awk -F  '/'  '{print $1} NR==8  {print $3}   表示第8行的第3列  cat haproxy.log-20170102 |sed -n '/Jan  1 14:00:00/,/Jan  1…
grep 命令 :强大的文本’搜索’工具    1.grep   -n   'word'  file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号.     2.grep   'w[ea]ll'   file_name 在file_name文件中找到wall 或者是well 所在的所有行并显示     3.grep    'w[^e]ll'   file_name 在file_name文件中找到”非well” 所在的所有行并显示     4.grep   …
则表达式 基本正则 ^    $    [  ]   [^]   .   *    \{n,m\}   \{n,\}    \(ro\)\{2\}   \(\)   扩展正则 egrep grep -E +     ?     {n,m}    |   ()      \b   athey  \bthe\b   前置指令 |  sed 选项  定址符 指令  sed 选项  定址符 指令    文件 逐行执行 -n  -r   -i    / /p   / /d   /  /s///  a 在行…
1:grep//显示行 # grep 'main' /home/myhome/a.c//将a.c含有main的行显示出来 # grep -v 'main' /home/myhome/a.c //显示除了main那行的所有行 # grep -n 'the' a.c//显示a.c含有the的行 # grep -vn 'the' a.c//显示没有the的行 # grep -in 'the' a.c//不考虑大小写 # grep -n t[ae]st a.c//[]只算一个字符,搜到含有test和ta…
#This script is to parse data file: fun0() { ## [INFO1]a=1   b=2 c=3 [INFO2]a=7 b=8 c=9 [INFO3] a=x b=y c=z } #! /bin/bash read Info Abc#echo $Info if [ "$Info" != "INFO1" -a "$Info" != "INFO2" -a "$Info"…
这几个工具是shell中非常好用的文本流处理工具,可以进行查找,编辑或者分析等工作,它们都支持正则表达式,也支持使用shell内置的变量 grep grep是一个字符串比较工具,用于从文件中提取满足条件的行,条件的部分可以使用正则表达式 $grep [-ABrn] [str] FilePathOrDirPath VS $find [路径] [选项] [参数] -A [n] #除了该行之外,也列出后续的n行 -B [n] #除了该行之外,也列出之前的n行 -n #显示行号 -r #递归查找所有的目…
下面是简单学习之后做得练习题,如果有不对的或者说解题思路不好的,请交流啊. Grep 练习 文件名grepfile Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500 Igor Chevsky:385-375-8395:3567 Populus Pl…
Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/sdb2 即可 移除swap分区 > swapoff /dev/sdb2 查看系统版本 > cat /etc/redhat-release > more /etc/*release 可以看到更多信息 buffer A buffer is something that has yet to b…
http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html 文件:datafileSteve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500Igor Chevsky:385-375-8395:3…
$ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行. $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行. $ grep ‘[a-z]\{5\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行. $ grep ‘w\(es\)t.*\1′ aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行.如果用egrep或grep…
      1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符. \d 匹配阿拉伯数字,等同于[0-9]. \D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]. \x 匹配十六进制数字,等同于[0-9A-Fa-f]. \X 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]. \w 匹配…
grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串"text"的行 grep text local_file grep "text" local_file #另一种方式 grep "text" local_file1 local_file2 ... #查找多个文件 在文件中查找不包含字符串"text…
*grep命令 今天遇到研发要求查询定时任务(elastic-job)在14:00-14:40的日志,使用grep命令很方便: 命令: grep '时间' '日志文件名 ' 1.例如查询2020-02-19 14:10到2020-02-19 14:15区间的日志 grep "2020-02-19 14:1[0-5]" dubbo-elastic-job.log 查询日志时间正好截至2020 02-19 14:15 2.例如查询当天10点到11点的日志 grep "2020-0…
vim grep sed awk对大小写不敏感 环境 [root@osker ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@osker ~]# uname -r -.el7.x86_64 vim:set ic (ignorecase 的缩写)忽略大小写:set noic (noignorecase 的缩写)不忽略大小写 grep查询man帮助可以找到,使用-i参数可以忽略大小.-i, --ignore-case:Ign…
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求的行数 -i :忽略大小写 -n:输出符合要求的行及行号 -v:显示不符合要求的行 -o:只显示被匹配的字符串 -A:后面加一个数字.如-A2 表示打印符合要求的行及下面两行 -B:后面跟一个数字,如-B2 表示打印符合要求的行及上面两行 -C:后面跟一个数字,如-C2 表示打印符合要求的行以及上下…
需要显示文本中间20-25行. 创建一个30行的文档,命名为30.txt并显示在屏幕 [root@v2-ui data]# seq 30 > 30.txt && cat 30.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [root@v2-ui data]# 方法一: [root@v2-ui data]# head -25 30.txt | tail -6 20…
^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * :表示重复0或多个前面的一个字符,不代表所有 (其他功能:通配符): .* :匹配所有的字符,^.* 任意多个字符开头: [abc] : 匹配字符集合内任意一个字符[a-z] [^abc] :在中括弧里边表示非,不包含a或b或c {n,m} :重复前一个字符n到m次,注意:grep 要对{}转义\…
sed主要内容和原理介绍 sed 流处理编辑器 sed一次处理一行内容,读入一行处理一行 sed不改变文件内容(除非重定向) sed 命令行格式 $ sed [options] 'command' file(s) (option:参数 ,command 操作命令 ,file操作文件命令) option : -e , -n command : 行定位(正则)+sed命令(操作) 脚本格式 $ sed -f scriptfile file(s) sed 操作命令 基本操作命令 p(打印相关的行)  …
正则表达式目标 正则表达式单字符: 特定字符 范围字符:单个字符[ ] :代表查找单个字符,括号内为字符范围 数字字符:[0-9],[259] 查找 0~9 和 2.5 .9 中的任意一个字符 小写字符:[a-z] 大写字符:[A-Z] 反向字符:[^0-9],[^0]   反向字^必须在 [ ]内才表示取反 任意字符:代表任何一个字符:‘.’  注意'[.]'和'\.'的区别:代表查找 . 本身这个字符 单字符小结: 特定字符 ‘ X’ 范围字符 [ ] [^] 任意字符 . 正则表达式其他字…
概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必要通过一些手段来高效地辅助你来快速的从日志中找到你要找的问题.本文通过一个从项目中衍生出来的例子从查找日志,筛选日志和统计日志3个方面层层递进来简述日志文件查看中一些有用的手段.(注:在linux环境下) 目录 0.查找关键日志grep 1.查找关键日志grep 2.精简日志内容 sed 3.对记录…
一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ] { } \: 其option常用参数详解如下: -name filename #查找名为filename的文件: -type b/d/c/p/l/f #查是块设备.目录.字符设备.管道.符号链接.普通文件: -size n[c] #查长度为n块[或n字节]的文件: -perm #按执行权限来查找…