linux-grep awk sed

grep awk sed 简单使用介绍

GREP

###功能
linux中查看文件内容可以用more,tail,cat甚至vi等等,但是经常只需要检索文件中含有某些内容的行,而且文件可能有上千上万行,则前面几种工具会很崩溃,然而grep和awk则可以很容易的从文件中检索到你所需要的内容。
###用法
grep [options] ‘表达式’ 文件列表或文件夹路径

###选项

option 功能
-c 输出符合条件的行的总数
-I 不区分大小写
-h 查询多文件时不显示实文件名
-l 查询多文件时只输出符合条件的文件名
-n 显示匹配行及行号
-v 显示不匹配的所有行

###例子
grep abc file #显示file中匹配abc字符串的行
grep root /etc/passwd #显示passwd中带有root的行

##AWK
awk对文件中的内容以行为单位读取,然后以制定字符作为分隔符,将一行内容进行分割,然后通过$0(第一个分割内容),$1等读取内容,再对内容进行操作。结合grep使用时,可以先搜索到指定行,然后再对指定行进行分割,再对对应内容提取。后续可以使用awk命令修改内容。

###用法

	awk [options] ‘表达式’ 文件列表或路径

###选项

option 功能
-F 指定分隔符,默认是空格
-v 定义一个变量传给awk
-f awk从脚本中读取命令

###例子
awk -F: ‘{ print $NF }’ /etc/passwd #打印出/etc/passwd文件中,以:为分隔符的字段数

##SED
sed可以对文件进行编辑,可以结合正则表达式,配合grep和awk使用,很强大。
###用法
sed [options] ‘命令’ 文件或路径
###选项

选项 功能
-e 以指定的脚本处理输入文件
-f 以指定脚本文件处理输入文件
-v 显示版本信息

###命令

command 功能
a 在当前行下面插入内容
i 在当前行上面插入内容
d 删除当前行的内容
s 替换指定字符
w 写并追加莫板块到文件末尾

命令一般结合正则表达式使用
###例子

	sed 's/book/books/g' file #命令中后缀/g表示作用于每一行的所有匹配内容

##总结
自己总结的比较简单,足够简单的使用,更多详细的使用参见以下:

column column
grep http://man.linuxde.net/grep
awk http://man.linuxde.net/awk
sed http://man.linuxde.net/sed
其他linux命令详解 http://man.linuxde.net

在很多shell脚本中,经常将grep、awk、sed命令结合使用,对配置文件进行修改更新: grep … | awk … | sed …。

你可能感兴趣的:(linux-grep awk sed)