我是一只小小鸟
全部博文(184)
分类: LINUX
2014-03-28 14:58:56
[root@test7 scripts]# ls
bonnie++_test iozone_test mdtest_test
[root@test7 scripts]# grep "mkdir" iozone_test
mkdir $DIR_TEST
mkdir $DIR_RESULT
查找iozone_test文件中查找含有字符mkdir的行数;
[root@test7 scripts]# grep -c "mkdir" iozone_test
2
在当前目录下的mdtest_test 文件下查找并打印含字符mkdir的行;
[root@test7 scripts]# grep mkdir -n iozone_test
29: mkdir $DIR_TEST
46: mkdir $DIR_RESULT
[root@test7 scripts]# grep "mkdir\>" iozone_test
mkdir $DIR_TEST
mkdir $DIR_RESULT
^$ |
查询空行并打印出查询行 |
^字符 |
例^echo,查询以echo开头的行并打印出查询行 |
字符$ |
例end$,查询以end结尾的行并打印查询行 |
例1 [root@test7 scripts]# grep -n "^$" iozone_test
18:
23:
32:
例2 [root@test7 scripts]# grep -n "^echo" iozone_test
47:echo "The test directory is created successfully!"
48:echo "Test results stored in the $DIR_RESULT. "
52:echo "...Under Testing..."
60:echo "...The test of iozone is over..."
C [root@test7 scripts]# grep -n "end$" iozone_test
65:#end
诸如- $ . / ‘ “ [] ^ | \ + ?等,查询字符时如果字符中包含这些特定字符,需要在特定字符前加“\”。例#grep “grub\.conf” grep.conf
例 查询并打印iozone_test 中含“-”的行;
[root@test7 scripts]# grep -n "\-" iozone_test
9:#Date: 2014-03-17
22:datetime=$(date "+%m-%d-%Y %H:%M:%S")
ls -l |grep "^d" 如果要查询目录列表中的目录() 同:ls -d *
ls -l |grep "^[^d]" 在一个目录中查询不包含目录的所有文件(开头为非d)
ls -l |grpe "^d…..x..x" 查询其他用户和用户组成员有可执行权限的目录集合
例
[root@test7 ~]# ls -l | grep "^d"
drwxr-xr-x. 2 root root 4096 Aug 10 2012 Desktop
drwxr-xr-x. 2 root root 4096 Aug 10 2012 Documents
drwxr-xr-x. 2 root root 4096 Aug 10 2012 Downloads
drwxr-xr-x. 2 root root 4096 Aug 10 2012 Music
drwxr-xr-x. 2 root root 4096 Aug 10 2012 Pictures
[root@test7 ~]# ls -l | grep "^[^d]"
total 2355296
-rw-r--r-- 1 root root 121072254 Sep 6 2013 a
-rw-------. 1 root root 1948 Aug 10 2012 anaconda-ks.cfg
1.1.7 排除自身
[root@vmtest70 ~]# ps -ef |grep telnet |grep -v grep
在显示的进程中抽出telnet进程,并丢弃ps中的grep进程。
查询过程中报错处理:
例 查询bonnie++_test 中字符“++”
[root@test7 scripts]# grep -n "\++" bonnie++_test
Binary file bonnie++_test matches
该提示意思是grep认为bonnie++_test文件是二进制文件(二进制文件等价于文本文件),实际不是;默认情况下grep不处理二进制文件,需要加参数-a来添加处理权限。
[root@test7 scripts]# grep -a -n "\++" bonnie++_test
81:for((i=1;i<=2000;i++))