linux grep命令

作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print。表示全局正則表達式版本号。它的使用权限是全部用户。

主要參数

-n:显示匹配行及 行号。

-v:显示不包括匹配文本的全部行。

-I:不区分大 小写(仅仅适用于单字符)。

-l:查询多文件时仅仅输出包括匹配字符的文件名称。

-e:使用扩展的正則表達式

-w: 仅仅匹配整个单词,而不是字符串的一部分 (即由连续的字符,数字和下划线构成的总体)

Linux sed命令

作用

Sed命令主要用于对整行进行处理,对列处理可使用以下介绍的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 就是啦!

Linux awk命令

awk能够独立的作为一门编程语言。这里仅仅介绍其简单的一部分

awk一般配合print和printf来使用

如:

显示/etc/passwd中的 username,用户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

linux经常使用文字处理命令总结的更多相关文章

  1. 【日常小记】linux中强大且常用命令:find、grep【转】

    转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...

  2. linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  3. 【程序员技术练级】熟悉Unix/Linux Shell和常见的命令行(一)文件系统结构和基本操作

    作为程序猿,熟悉一些unix/linux命令行是非常必要的,因为部署服务的服务器现在基本上用的都是unix/linux系统,很少在windows上部署服务的. 今天我们就介绍一些在linux上的文件系 ...

  4. Linux 中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:    find命令        f ...

  5. 在 Windows 和 Linux(Gnome) 环境下 从命令界面打开网页的方式

    1.在 Windows 中 通过命令 可以打开网页是很简单的: start http://www.baidu.com 或 start iexplorer http://www.baidu.com 第二 ...

  6. 【转载】Linux中强大且常用命令:find、grep

    转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...

  7. linux中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们. 本文结构如下: find命令 find命令的一般形 ...

  8. [转]linux中强大的screen命令

    [转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...

  9. 第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令

    Linux 系统常见的压缩命令: 在Linux中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』 Linux 支持的压缩命令非常多,且不同 ...

随机推荐

  1. .NET对IO的基本操作集合

    分享一下对IO的基本使用,很简单的东西,不需要记住,用的时候看一下就可以了. 个人对IO的使用很少,记录日志,保存一些数据,保存文件,其他的基本上很少用到,做商城类的项目应该会用到很多 1.先配置一下 ...

  2. 转:x64与x86的改变

    http://tieba.baidu.com/p/1250470248 x64与x86的改变 硬件要求就是64位的CPU.操作系统也必须是64位的,如果在64位的CPU上安装了32位的操作系统,就算编 ...

  3. 【转载】关于Android RecyclerView的那些开源LayoutManager

    原文地址:http://blog.coderclock.com/2017/03/26/android/%E5%85%B3%E4%BA%8EAndroid%20RecyclerView%E7%9A%84 ...

  4. Sqli-labs less 7

    Less-7 本关的标题是dump into outfile,意思是本关我们利用文件导入的方式进行注入.而在background-3中我们已经学习了如何利用dump into file. 这里首先还是 ...

  5. Linux命令之which

    which [选项] [命令] 将命令的完整路径写入标准输出.具体是在环境变量PATH设置的目录里查找符合条件的文件,而环境变量PATH中保存了查找命令时需要遍历的目录. (1).选项 -v,-V,- ...

  6. CentOS7和CentOS6的主要区别

    了解一下就好 1.  文件系统的区别.CentOS6默认使用的是ext4的文件系统,而CentOS7使用的是xfs. 2.  硬盘默认调度算法不一样.CentOS6默认使用的是cfq,而CentOS7 ...

  7. linux shell date 用当天时间做备份文件名

    #!/bin/bash #date  显示时间,我们可以用时间的不同做为备份文件的名字,这样以前的备份就不会被覆盖 datename=$(date +%Y%m%d-%H%M%S)           ...

  8. hdu 5868 2016 ACM/ICPC Asia Regional Dalian Online 1001 (burnside引理 polya定理)

    Different Circle Permutation Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K ...

  9. [CODECHEF]TREECNT2

    题意:一棵带边权的树,边权可单边修改,问初始时和每次修改后有多少条路径$\gcd=1$ 首先考虑用反演求答案,设$f(n)$为路径$\gcd=n$的路径条数,$g(n)$为路径$\gcd$是$n$倍数 ...

  10. 【可持久化数组】【rope】bzoj3673 bzoj3674 可持久化并查集 by zky

    rope教程:http://blog.csdn.net/iamzky/article/details/38348653 Code(bzoj3673): #include<cstdio> # ...