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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部