您的位置:首页 > 运维架构 > Linux

linux常用文字处理命令总结

2014-11-20 09:12 344 查看
linux grep命令作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。主要参数-n:显示匹配行及 行号。-v:显示不包含匹配文本的所有行。-I:不区分大 小写(只适用于单字符)。-l:查询多文件时只输出包含匹配字符的文件名。-e:使用扩展的正则表达式-w: 只匹配整个单词,而不是字符串的一部分 (即由连续的字符,数字和下划线构成的整体)L inux sed命令作用S ed命令主要用于对整行进行处理,对列处理可使用下面介绍的awk命令用法 sed 选项 动作 文件常用选项:-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-i∶直接修改读取的档案内容,而不是由萤幕输出。 常用动作a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行) ,如果要新增多行,需用 \换行
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! 如果字符串要换行,需要用 \配合
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); 如果要插入多行,需用 \换行
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 s/old/new/g 就是啦!L inux awk命令awk可以独立的作为一门编程语言,这里只介绍其简单的一部分awk一般配合print和printf来使用如:显示/etc/passwd中的 用户名,用户id和组id,前面加上行号(通过cat -n) -F用来说明划分列的分隔符,$1,$3,$4分别指第1,3,4行cat -n /etc/passwd | awk -F “:” '{print $1 “\t” $3 “\t” $4}'第一行显示username userid groupid然后显示和上个例子一样的内容(行号是通过awk中的NR显示的)cat /etc/passwd | awk 'BEGIN {FS=”:”; printf “%d\t%10s\t%10s\t%10s\n”,NR,”username”,”userid”,”groupid”}\{printf “%10s\t%10s\t%10s\n”,$1,$3,$4}\END {printf “finish\n”}'显示硬链接数目大于5的文件,$0代表整行ll | awk '$2>5 {print $0}'原始文件:score:|Math|English|C++|OS|SE||95 |89 |92 |98 |99||66 |78 |82 |81 |90||79 |65 |77 |82 |35|命令:cat score | awk 'BEGIN {FS="|"; print "MY Score List"}\ NR==1 {print $0 "Sum" FS "Average" FS}\ NR>1 {sum=$1+$2+$3+$4+$5;aver=sum/5;print $0 sum FS aver FS}\ END {print "Finish"}'输出:MY Score List |Math|English|C++|OS|SE|Sum|Average| |95 |89 |92 |98|99|374|74.8| |66 |78 |82 |81|90|307|61.4| |79 |65 |77 |82|35|303|60.6| Finish

本文来自:ubuntu技术网

本文链接:http://www.ahlinux.com/start/cmd/9404.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 字符串 表达式