• 每天进步一点点!

文章分类

推荐网站

常用手册

linux查找文本命令 grep(三)【原创】

一些特殊的选项:

 

  • -e 选项

通常,第一个非选项的参数会指定要匹配的模式。你也可以提供多个模式,只要将它们放在引号里并以换行符分割他们。模式以减号开头时,grep会混淆,而将它视为选项。这就是-e选项排上用场的时候。他可以提供其参数为模式---即使它以减号开头。

例一:

 grep -e 'boy' -e '^abc' test_grep.txt 

#abc     def     hic     lmn     abc
#You     are     a       good    boy

使用-e可以以此匹配多个模式。

 

例二:

 cat test_grep2.txt

-v

-l

-F

-f

grep '-v' test_grep2.txt 此时光标停在第二行,没有找到匹配行。这是因为grep将“-v”当做了选项,将test_grep2.txt当做了要匹配的模式,等在要求匹配的文件,因此在等待。此时用-e可以解决了

grep -e '-v' test_grep2.txt 
# -v

 

     

  • -f 选项

可以将所有匹配模式写到一个文件中,用-f选项后面跟上此文件,这样可以一次匹配多个模式。

cat pat_file

good

boy

类别:Linux | 浏览(98) | 评论(0) | 阅读全文>>

linux查找文本命令 grep(二)【转载】

linux查找文本命令 grep

 

  • 实例

 

cat test_grep.txt 

 

abc     def     hic     lmn     abc

123     456     1.23    4.5     321

ABC     Def     hIc     lmN     ABC

ABC     Def     hIc     lmN     dsf

A BC     Def     hIc     lmN     ABC

You     are     a       good    boy

you     are     a       good    girl

you     are     not     a       good girl

That's  a       very    lovely  dog

 

例一:

grep -c 'good' test_grep.txt 
#3

cat test_grep.txt | grep  'good' | wc -l
#3

 

这两种方法都可以统计含有‘good’的行数,但是第一种方法明显更简练。

 

例二:

 grep -i 'abc' test_grep.txt

#abc     def     hic     lmn     abc
#ABC     Def     hIc     lmN     ABC
#ABC     Def     hIc     lmN     dsf
#A BC     Def     hIc     lmN     ABC

 

grep使用的正则表达式没有像其他语言那样的修饰符,如i,s,m。对于忽略大小写的匹配,可以用选项-i实现。

类别:Linux | 浏览(103) | 评论(0) | 阅读全文>>

linux查找文本命令 grep(一)【原创】

  • grep的用途:

显示匹配一个或多个模式的文本行。grep命令在一个或多个文件中查找某个字符模式。如果这个模式中包含空格,就必须用引号把它括起来。grep命令中,模式可以是一个被引号引起了的字符串,也可以是单个词,位于文件后的所有单词都会被认为是文件名。grep将输出发送到屏幕,他不会对输入文件做任何修改和变化。 时常会作为管道的第一步,以便对匹配的数据作进一步处理。

 

  • grep家族

grep

最早的文本匹配程序,所使用POSIX定义的基本正则表达式(Basic Regular Expression, BRE)

egrep

扩展式grep这个程序使用的是扩展的正则表达式(Extended Regular Expression, ERE)——这是一套功能更强大的正则表达式,

使用它的代价就是会消耗更多的运行资源。在早期出现的PDP-11的机器上,这点事关重大,不过以现在的系统而言,在性能影响上几乎没有太大的差别。

fgrep

快速grep(fast grep)。这个版本匹配固定字符串而非正则表达式,它使用游湖的算法,能更有效的匹配固定字符串。也就是说

,grep和egrep智能匹配单个正则表达式,儿fgrep使用不同的算法,却能匹配过个字符串,有效地测试每个输入行里,是否有匹配的查找字符串。

类别:Linux | 浏览(124) | 评论(0) | 阅读全文>>

PHP中引用传值详解【转载】

    所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。 

    所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。

php的引用(就是在变量或者函数 、对象等前面加上&符号)

在PHP 中引用的意思是:不同的名字访问同一个变量内容.

与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址

 

变量的引用

PHP 的引用允许你用两个变量来指向同一个内容

$a="ABC";
$b =&$a;
echo $a;//这里输出:ABC
echo $b;//这里输出:ABC
$b="EFG";
echo $a;//这里$a的值变为EFG 所以输出EFG
echo $b;//这里输出EFG

函数的传址调用

传址调用我就不多说了 下面直接给出代码  

function test(&$a)
{
    $a=$a+100;
}
$b=1;
echo $b;//输出1
test($b);   //这里$b传递给函数的其实是$b的变量内容所处的内存地址,
                 //通过在函数里改变$a的值 就可以改变$b的值了
echo "\n";
echo $b;//输出101

要注意的是,在这里test(1);的话就会出错,原因自己去想  

类别:PHP | 浏览(83) | 评论(1) | 阅读全文>>

centos5.4 源码包安装LAMP【原创】


centos5.4 源码包安装LAMP

 

1.卸载旧的lamp环境

 

命令:rpm -qa | grep httpd 

说明:查看是否安装了httpd软件包

 

命令:netstat -tnl

说明:查看现在端口的状态,主要关注80端口(apache) 3306端口(mysql)

 

命令:rpm -e httpd-2.2.3-31.el5.centos --nodeps

命令:rpm -e httpd-manual-2.2.3-31.el5.centos --nodeps

命令:rpm -e system-config-httpd-1.3.3.3-1.el5 --nodeps

说明:卸载软件包, --nodeps 如果有连带关系,也强制卸载

 

命令:cd /etc/httpd/

命令:rm -rf *

说明:到原来的apache安装目录下,将其所有的安装目录和文件都删掉

 

命令:rpm -qa | grep mysql 

命令:rpm -e mysql-5.0.77-3.el5 --nodeps

说明:卸载mysql

 

命令: rpm -qa | grep php

命令: rpm -e php-ldap-5.1.6-23.2.el5_3 --nodeps

命令: rpm -e php-cli-5.1.6-23.2.el5_3 --nodeps

命令: rpm -e php-common-5.1.6-23.2.el5_3 --nodeps

命令: rpm -e php-5.1.6-23.2.el5_3 --nodeps 

说明:卸载PHP

 

2.安装LAMP

 

(1).安装libxml2

cd libxml2-2.7.8/

./configure --prefix=/usr/local/libxml2

make && make install

 

类别:Linux | 浏览(271) | 评论(0) | 阅读全文>>