Linux grep与Sed的合作是Linux的实用工具的不可缺少的一部分,它们可以方便、高效地处理文本。
Grep是一个经典的文本字符串查找工具,它可以搜索出文件中所有匹配指定模式的字符串,从而完成文本过滤工作。它读取文件或者标准输入,其常见使用方法如下:
grep “string” fileName
上述命令用于从文件名中查找所有匹配string模式的字符串。Grepsupport许多额外功能,比如可以通过使用-v选项搜索不匹配字符串,-c表示只统计匹配次数,-i表示忽略大小写等等。
Sed是一个用于文本流编辑的强大的工具,它可以通过一次运行替换字符串,删除和添加行,或者在文件之间拷贝来完成,可以替换或删除任意数量的模式匹配文本行。它接受来自标准输入的命令,也可以从文件读取替换规则,并将结果输出给标准输出或文件。
例如,下面的指令可以用来替换文件中的”oldstring”字符串为”newstring”:
sed “s/oldstring/newstring/g” fileName
它也可以添加或删除文件的行。例如,使用如下指令可以在文件的指定行号后添加文本”add string”:
sed “$行号a\\addstring” fileName
因此可以看出,Grep和Sed是Linux实用工具的重要成员,它们能够高效地处理文本文件,从而帮助开发人员解决大量繁琐的文本处理任务。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
编写一个程序,用于实现文件的备份
注意本脚本是应用于archive log模式下的,另外数据库的用户名密码,自己在脚本里改一下,脚本是带参数的,参数是备份的目标目录,注意要有写权限。
#!/bin/sh mypath=$1 if [ -z $mypath ] ; then echo please use this command like ./backup /u01/backup else if [ -d $mypath ] ; then oracle_sid=dzzd; export oracle_sid oraenv_ask=no; export oraenv_ask rm -rf sqlplus -s system/oracle9i<
1. tar压缩文件夹tar zcvf archive_/1解压文件夹tar xvf archive_1grep在文件中查找字符串 不区分大小写grep -i the demo_file1输出成功匹配的行,以及该行之后的三行grep -A 3 -i example demo_text1在一个文件夹中递归查询包含指定字符串的文件grep -r ramesh *1find查找指定文件名的文件(不区分大小写)find -iname MyProgram.c1查找home目录下的所有空文件find ~ -empty1ssh登录到远程主机sshroot@172.3.7.2111sedsed全名叫stream editor,流编辑器,用程序的方式来编辑文本。
SED 简明教程awkAWK 简明教程vimLIinux中自带的文本编辑器。
在使用linux时,经常需要进行文件查找。
其中查找的命令主要有find和grep。
两个命令是有区的。
区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
一命令基本格式:findpathexpression1.按照文件名查找(1)find/#在根目录下查找文件,表示在整个硬盘查找(2)find/#在/etc目录下文件(3)find/etc-name*srm*#使用通配符*(0或者任意多个)。
表示在/etc目录下查找文件名中含有字符串‘srm’的文件(4)find.-namesrm*#表示当前目录下查找文件名开头是字符串‘srm’的文件2.按照文件特征查找(1)find/-amin-10#查找在系统中最后10分钟访问的文件(accesstime)(2)find/-atime-2#查找在系统中最后48小时访问的文件(3)find/-empty#查找在系统中为空的文件或者文件夹(4)find/-groupcat#查找在系统中属于group为cat的文件(5)find/-mmin-5#查找在系统中最后5分钟里修改过的文件(modifytime)(6)find/-mtime-1#查找在系统中最后24小时里修改过的文件(7)find/-userfred#查找在系统中属于fred这个用户的文件(8)find/-size+c#查找出大于字节的文件(c:字节,w:双字,k:kb,m:mb,g:gb)(9)find/-size-1000k#查找出小于1000kb的文件3.使用混合查找方式查找文件参数有:!,-and(-a),-or(-o)。
(1)find/tmp-size+c-and-mtime+2#在/tmp目录下查找大于字节并在最后2分钟内修改的文件(2)find/-userfred-or-usergeorge#在/目录下查找用户是fred或者george的文件文件(3)find/tmp!-userpanda#在/tmp目录中查找所有不属于panda用户的文件二、grep命令基本格式:findexpression1.主要参数[options]主要参数:-c:只输出匹配行的计数。
-i:不区分大小写-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:\:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$:匹配正则表达式的结束行。
\<:从匹配正则表达式的行开始。
\>:到匹配正则表达式的行结束。
[]:单个字符,如[a]即a符合要求。
[-]:范围,如[a-z],即a、b、c一直到z都符合要求。
.:所有的单个字符。
*:有字符,长度可以为0。
linux,unix常用基本命令
linux下打包(文件更新时间)为指定时间的命令行怎么写?
发表评论