grep
负
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN] [FILE...]
参数:
-c --count #计算符合样式的列数
-l --file-with-matches #列楚内容符合指定的样式的文件名称。
-v --revert-match #显示不包含匹配文本的所有行。
-i --ignore-case #褐符创的差?p>
-o # 只显示匹配到的关键字
-n # 现实行号
-E 使用正燥式
除燥式
^ : 匹配开头
$ : 匹配结尾
[] : 范围匹配
[a-z] : 匹配有小写字母
[A-Z] : 匹配所有粗母
[0-9] : 匹配所有数字
. : 匹配单耕
* : 表示*前面的内容炒位?nbsp;
+ : 表示+前面的内容炒位?nbsp;
? : 表示?前面的内容炒位
cat a.txt |grep hat$ # 匹配以hat结尾的行
cat a.txt |grep ^hat # 匹配以hat开头的行
cat a.txt | grep -E "[0-9]*" # 匹配有0到多钢的行
cat a.txt | grep -E "[0-9]+" # 匹配有至少有1钢的行
cat a.txt | grep -E "[0-9]?" # 匹配有0到1钢的行
sed : 镰苹次处理一行内容
sed [-nefr] [动孜募⺌
选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列痴端上。但如果加上 -n 参数盒经过sed 特殊处理的那一行(化谆岜涣谐/p>
-e :直接在命令列模式上进行 sed 的动篆
-f :直接将 sed 的动宗一羹内, -f filename 栽运行 filename 内的 sed 动筑
-r :sed 的动字的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输痴端。
动譡n1[,n2]] 动?p>
n1, n2 :不一定存在linux常用命令,一般代表选孕动仔数,比如,如果我的动阻要在 10 到 20 行之间进行的,?0[动转]
#a :新詀 的荷以接字串,而这些字串会在新的一行衬壳暗南乱恍?
#c :取代, c 的荷以接字串,这些字串可以取代 n1,n2 之间的行!
#d :删除,仪删除啊,所以 d 酣常不接任何咚咚;
sed "3d" file # 删除第三行
sed "1,3d" # 删除前三行
sed "1d;3d;5d" # 删除1、3、5行
sed "/^$/d" #删除空行
sed "/abc/d" #删除所有含有abc的行
sed "/abc/,/def/d" #删除abc 和 def 之间的行,包括其自身
sed "1,/def/d" #删除第一行到 def 之间的行,包括其自身
sed "/abc/,+3d " # 删除含有abc的行之黑删除3行
sed "/abc/,~3d" #从含有abc的行开始,共删除3行
sed "1~2d" # 从第1行开始,每2行删除一行, 删除奇数行
sed "2~2d" # 从第2行开始,每2行删除一行, 删除奇数行
sed "$d" # 删除最盒
sed "/dd\|cc/d" 删除有dd籧的行
#i :插入, i 的荷以接字串,而这些字串会在新的一行衬壳暗纳弦恍?;
#p :列印,亦即将某庚据印敞常 p 会与参数 sed -n 一菩
sed -n "3p" file # 显示第三行