强悍的 linux —— sed 与 awk

原创 2016年05月30日 11:19:52

可不可以狭隘的理解为,Linux 的学习,就是命令行的学习,而命令行的学习就是命令参数的学习,丰富而强悍的参数,正是命令的精髓所在。

  • last(lastb):show a listing of last logging in users.

0. awk

linux awk命令详解

awk是一个强大的文本分析工具,相对于 grep 的查找,sed 的编辑,awk 在其对数据分析并生成报告时,显得尤为强大。

awk工作流程是这样的:读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符(默认域分隔符是”空白键” 或 “[tab]键”,使用 -F field-sepeartor 指定其他的域分隔符)划分域,填充域:

  • $0则表示所有域
  • $1表示第一个域
  • $n表示第 n 个域。
$ last -n 5 | awk  '{print $1}'
$ cat /etc/passwd | awk -F ':' '{print $1"\t"$7}'
    # /etc/passwd 的分隔符为冒号;
$ cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'

1. sed(stream editor)

  • sed -n

    sed 命令中 p 能实现打印匹配行的功能。我们可以实际看下 sed 命令带 -n 和不带 -n 情况下有什么不同。

    编写如下的简单脚本程序 test.sh:

    !/bin/sh
    tr "a-z" "A-Z"
    exit 0
    • sed -n 1p test.sh

      !/bin/sh

      仅打印第一匹配行。打印前两行:

      sed -n 1,2p test.sh
  • sed 1p test.sh

    !/bin/sh
    !/bin/sh
    tr "a-z" "A-Z"
    exit 0

    不仅打印第一匹配行,还输出全部sh内容;

  • 查找时忽略大小写

    
    # cat a.txt
    
    aa
    AA
    bba
    cc

    参数做如下设置:

    $ sed -n '/a/Ip' a.txt
    aa
    AA
    bba
    
    // d 参数表删除
    $ sed -e '/a/Id' a.txt
    cc
版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux系统编程(19)——正则表达式在sed和awk中的使用

sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出。sed和...

Linux三剑客awk sed grep全攻略

  • 2017年07月14日 16:32
  • 2.37MB
  • 下载

Linux/Unix Sed与awk 中文第三版

  • 2014年10月07日 19:01
  • 12.04MB
  • 下载

如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作。数据专家们,我是在对你们说。你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep,...

Linux基础(8)-RHEL7网络管理以及shell、sed、awk命令

网络相关 shell脚本 sed和awk命令 网络相关Linux下端口号的分配TCP和UDP采用16位的端口来识别应用程序,所以端口号的范围为:2^6=65536,范围为:0 ~ 65535 102...

linux sed awk

  • 2013年11月14日 09:49
  • 2KB
  • 下载

linux之定时任务,sed+awk

定时任务: crontab     crond        定时任务的守护进程     默认此服务基本所有GNU/Linux操作自带     定时任务的主配置文件: /etc/crontab ...

Linux基础之-正则表达式(grep,sed,awk)

一. 正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式是对字符串操作的一种逻辑...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:强悍的 linux —— sed 与 awk
举报原因:
原因补充:

(最多只允许输入30个字)