linux常用三剑客
Linux 三剑客是(grep,sed,awk)三者的简称,他们通常结合正则一起使用。grep擅长查找,sed擅长修改文件。awk擅长取列。
grep的介绍
grep 是一个文本过滤工具
egrep 支持扩展正则
options部分
- -v 显示不被pattern匹配到的行
- -o 仅显示匹配到的字符串
- -n 显示匹配的行号
- -i 忽略字符大小写
- -r 递归查找
awk的介绍
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具
options部分
- -F fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
- -v var=value
赋值一个用户定义变量。
示例:
cat passwd.log |awk -F: '{print $0,$4}'awk -v a=1 -v b=s '{print $1,$1+a,$1b}' log.txt
sed的介绍
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
sed的常用选项
- -n: 只显示匹配处理的行(否则输出所有)
- -i: 直接在文件中进行修改,而不是输出到屏幕
- -r: 支持扩展正则表达式
- -e: 执行多个编辑命令时(一般用 ; 代替)
sed动作说明:
- s :替换 通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g
- p :打印匹配行。通常 p 会与参数 sed -n 一起运行~
- d :删除指定行
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
示例:
cat passwd -n |sed -n ‘5,+3p’ 后三行
cat passwd -n |sed -n ‘5,100!p’ 取反
cat passwd -n |sed -n ‘1~2p’ 从第一行开始,步长为2
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
