Linux常用基本命令:grep-从文件或者管道中筛选匹配的行
grep命令
作用:从文本文件或管道数据流中筛选匹配的行及数据,配合正则表达式一起使用,功能更加强大。
格式:
grep [options] [pattern] [file]
1,匹配包含"ghostwu"的行
ghostwu@dev:~/linux/grep$ cat -n ghostwu.txt my name is ghostwu how are you fine think you My name is Ghostwu what's your name? my name is ghostwu2 ghostwu@dev:~/linux/grep$ grep "ghostwu" ghostwu.txt my name is ghostwu my name is ghostwu2
2,-v: 不包含,相当于取反
ghostwu@dev:~/linux/grep$ grep -v "ghostwu" ghostwu.txt how are you fine think you My name is Ghostwu what's your name? ghostwu@dev:~/linux/grep$
3,-n添加行号
ghostwu@dev:~/linux/grep$ grep -n "ghostwu" ghostwu.txt 1:my name is ghostwu 6:my name is ghostwu2 ghostwu@dev:~/linux/grep$ grep -vn "ghostwu" ghostwu.txt 2:how are you 3:fine think you 4:My name is Ghostwu 5:what's your name? 7:
4,-E,使用扩展的egrep命令,模式中可以用正则表达式
ghostwu@dev:~/linux/grep$ cat ghostwu.txt my name is ghostwu how are you fine think you My name is Ghostwu what's your name? my name is ghostwu2 ghostwu@dev:~/linux/grep$ grep -E "my|your" ghostwu.txt my name is ghostwu what's your name? my name is ghostwu2 ghostwu@dev:~/linux/grep$ grep -Ev "my|your" ghostwu.txt how are you fine think you My name is Ghostwu ghostwu@dev:~/linux/grep$ grep -En "my|your" ghostwu.txt 1:my name is ghostwu 5:what's your name? 6:my name is ghostwu2
5,-i选项,不区分大小写
ghostwu@dev:~/linux/grep$ grep "ghostwu" ghostwu.txt my name is ghostwu my name is ghostwu2 ghostwu@dev:~/linux/grep$ grep -i "ghostwu" ghostwu.txt my name is ghostwu My name is Ghostwu my name is ghostwu2
6,-c :统计匹配的行数,不是匹配字符串的次数
ghostwu@dev:~/linux/grep$ grep -c "ghostwu" ghostwu.txt ghostwu@dev:~/linux/grep$ grep -ci "ghostwu" ghostwu.txt
ghostwu@dev:~/linux/grep$ grep -c "ghostwu" ghostwu.txt ghostwu@dev:~/linux/grep$ grep "ghostwu" ghostwu.txt my name is ghostwu, nice to meet you,ghostwu my name is ghostwu2 ghostwu@dev:~/linux/grep$ cat -n ghostwu.txt my name is ghostwu, nice to meet you,ghostwu how are you fine think you My name is Ghostwu what's your name? my name is ghostwu2
7,-o: 只输出匹配到的字符串
ghostwu@dev:~/linux/grep$ grep -o "ghostwu" ghostwu.txt ghostwu ghostwu ghostwu@dev:~/linux/grep$ grep -oi "ghostwu" ghostwu.txt ghostwu Ghostwu ghostwu
8,-w: 只匹配过滤的单词,类似于精确匹配
ghostwu@dev:~/linux/grep$ grep -w "ghostwu" ghostwu.txt my name is ghostwu, nice to meet you,ghostwu ghostwu@dev:~/linux/grep$ grep -wi "ghostwu" ghostwu.txt my name is ghostwu, nice to meet you,ghostwu My name is Ghostwu ghostwu@dev:~/linux/grep$ cat -n ghostwu.txt my name is ghostwu, nice to meet you,ghostwu how are you fine think you My name is Ghostwu what's your name? my name is ghostwu2
9,常用的一招小技巧,去除文件的注释和空行,在运维中,可以用这条命令把配置文件的空行和注释去掉,然后用管道生成。这样配置文件比较容易查看和配置
ghostwu@dev:~/linux/grep$ grep -Ev "^$|#" ghostwu.php <?php class Person { public $name = 'ghostwu'; public $age = 20; public function showinfo(){ echo $this->name . PHP_EOL; echo $this->age. PHP_EOL; } } ghostwu@dev:~/linux/grep$ cat -n ghostwu.php 1 <?php 2 3 class Person { 4 5 #人名 6 public $name = 'ghostwu'; 7 8 #年龄 9 public $age = 20; 10 11 #显示信息 12 public function showinfo(){ 13 echo $this->name . PHP_EOL; 14 echo $this->age. PHP_EOL; 15 } 16 }
相关推荐
taomengxing 2020-09-07
rechanel 2020-11-16
wintelx 2020-08-09
NBkiller 2020-06-14
wandererdl 2020-06-14
CARBON 2020-06-11
xushxbigbear微信 2020-06-09
chenjinlong 2020-06-04
eroshn 2020-05-31
timegoes 2020-04-12
luvzhan 2020-04-12
kylinos 2020-03-07
季诗筱 2020-03-07
神龙 2020-05-11
jyj00 2020-05-04
LychieFan 2020-05-03
csdnyasin 2020-05-01
huguang 2020-04-22