linux常用命令解析
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-09
tr [-ds] SET1
参数说明: -d :删除 SET1 这个字符串 -s :取代掉重复的字符! 范例: [root @test /root]# last | tr ''[a-z]'' ''[A-Z]'' <==将小写改成大写 [root @test /root]# cat /etc/passwd | tr -d : <==嘿嘿! : 这个符号在 /etc/passwd 中不见了! [root @test /root]# cat /home/test/dostxt | tr -d ''r'' > dostxt-noM <==将 DOS 档案的字尾符号 ^M 的符号去除! 说明: 其实这个指令也可以写在『正规表示法』里头!他也是由正规表示法的方式来取代数据的!以 上面的例子来说,使用 [] 可以设定一串字呢!也常常用来取代档案中的怪异符号!例如上面第三个 例子当中,可以去除 DOS 档案留下来的 ^M 这个断行的符号!这东西相当的有用!相信处理 Linux & Windows 系统中的人们最麻烦的一件事就是这个事情啦!亦即是 DOS 底下会自动的在每行行尾加入 ^M 这个断行符号!这个时候我们可以使用这个 tr 来将 ^M 去除! ^M 可以使用 r 来代 grep 语法: [root @test /root ]# grep [-acinv] ''搜寻字符串'' filename 参数说明: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 ''搜寻字符串'' 的次数 -i :忽略大小写的不同,大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 ''搜寻字符串'' 内容的那一行! 范例: [root @test /root]# grep ''root'' /var/log/secure 将 /var/log/secure 这个档案中有 root 的那一行秀出来 [root @test /root]# grep -v ''root'' /var/log/secure 若该行没有 root 才将数据秀出来到屏幕上! [root @test /root]# last | grep root 若该行有 root 才将数据秀出来到屏幕上!
[root @test /root]# grep [A-Z]ANPATH /etc/man.config 将 /etc/man.config 这个档案当中,所有有: [任何一个大写字符]后面接 ANPATH 的那一行就显示出来! 例如 AANPATH, BANPATH.... ZANPATH 等等! 说明: grep 是一个很常见的指令,最重要的功能就是进行字符串数据的比对了,需要说明的是『grep 在一个档案中查寻一个字符串时,他是以"整行"为单位来数据的撷取的!』也就是说,假如一个档案内有 10 行,其中有两行具有你所搜寻的字符串,则将那两行显示在屏幕上,其它的就丢弃了!而 grep 除了可以进行档案的资料搜寻之外,也常常被应用在 input/output 的数据处理当中,例如常见的管线命令 ( pipe ) 就可以常常到他的踪影!以上面的例子来看,我们可以发现前两个例子是查寻档案的内容,有没有加上 -v 所显示出来的结果是『相反的!』,而第三个例子则是以 pipe 的功能进行数据的处理的喔! 例题一:找出这个档案里面含有 know 这个字符,并将行号列出来: [root @test /root ]# grep -n ''know'' regexp.txt 3:* I don''t know how to do this * grep 会一行一行的去比对 know 这个字符串,请注意,大小写是不一样的! 当该行里面没有 know 这个字符串时, grep 就会将该行舍弃而不显示出来, 不过,到第三行时,出现了 know 了,第三行就会被显示出来啦! 例题二:找出这个档案里面含有 * 这个字符,并将行号列出来: [root @test /root ]# grep -n ''*'' regexp.txt 3:* I don''t know how to do this * 请特别留意喔,在正规表示法里面有相当多的『特殊字符』存在,而要 取消掉这些特殊字符的属性时,反斜线『』的存在就显的特别重要了! 在这个例子中,或许你会发现使用 grep -n ''*'' regexp.txt 也可以得到
相同的结果,但是,良好的习惯是需要养成的,这里,请以较为正统的 正规表示法来去除 * 这个特殊字符的属性,对您以后一定会有很多的好处的! 例题三:我要将所有 know 不论大小写都列出来,并列出行号: [root @test /root]# grep -ni ''know'' regexp.txt 3:* I don''t know how to do this * 4:# I don''t Know how to do this $ 5:^ I don''t KNOW how to do this @ 如果不理会大小写的差异,加入 -i 这个参数吧!列出行号就以 -n 来达成!
|
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: LINUX基本网络参数(一)基本配置文件下一篇: Linux 时钟处理机制
关于linux常用命令解析的所有评论