美文网首页
sed 应用

sed 应用

作者: 断水流大师兄vs魔鬼筋肉人 | 来源:发表于2018-05-02 21:33 被阅读0次

awk '{print $1,$4}' test.txt  查看第一列和第四列

awk '{printf "%-8s %-10s %-20s %-15s\n",$1,$3,$5,$6}'  test   查看1  3  5 6 列 并打印出间距格式(格式化输出)

过滤记录:awk '$3==0 && $6=="LISTEN"'   test

选出第3列值为0并且第6列值为"LISTEN"

awk '$3>0 {print $0}' test   第3列值大于0的,$0---整行

awk '$3==0 && $6=="LISTEN"  || NR==1'   test      NR表头==1  第一行

'$3==0 && $6=="LISTEN" || NR==1 {printf "%-20s %-20s %s\n",$4,$5,$6}' test    加格式化输出

说到了内建变量,我们可以来看看awk的一些内建变量:

$0当前记录(这个变量中存放着整个行的内容)

$1~$n当前记录的第n个字段,字段间由FS分隔

FS输入字段分隔符 默认是空格或Tab

NF当前记录中的字段个数,就是有多少列

NR已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。

FNR当前记录数,与NR不同的是,这个值会是各个文件自己的行号

RS输入的记录分隔符, 默认为换行符

OFS输出字段分隔符, 默认也是空格

ORS输出的记录分隔符,默认为换行符

FILENAME当前输入文件的名字

指定分隔符: awk 'BEGIN{FS=":"} {print $1,$3,$6}' /etc/passwd   =root    0       /root

bin     1       /bin

daemon  2       /sbin

adm     3       /var/adm

lp      4       /var/spool/lpd

sync 5       /sbin

root 0 /root

bin 1 /bin

daemon 2 /sbin

adm 3 /var/adm

lp 4 /var/spool/lpd

sync 5 /sbin

shutdown 6 /sbin

halt 7 /sbin

awk -F: '{print $1,$3,$6}' OFS="\t" /etc/passwd

root    0       /root

bin     1       /bin

daemon  2       /sbin

adm     3       /var/adm

lp      4       /var/spool/lpd

sync 5       /sbin

awk -F '[;:]'  如果你要指定多个分隔符,你可以这样来:

awk '$6 ~ /FIN/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

第6列中带有“FIN”的列,加首列原本行号,排列格式

awk '$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

上面的第一个示例匹配FIN状态, 第二个示例匹配WAIT字样的状态。其实 ~ 表示模式开始。/ /中是模式。这就是一个正则表达式的匹配。

我们可以使用 “/FIN|TIME/” 来匹配 FIN 或者 TIME :

awk '$6 ~ /FIN|TIME/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

再来看看模式取反的例子: awk '$6 !~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

相关文章

  • sed 应用

    awk '{print $1,$4}' test.txt 查看第一列和第四列 awk '{printf "%-8s...

  • sed应用(作业)

    1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符 2、删除/etc/f...

  • Sed命令应用

    1. 概述 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删...

  • sed应用范例

    在指定行前后添加内容:在内添加内容

    sed 通配符应用

    " . " :表示匹配一个字符 " .* " :表示匹配任意字符 sed删除指定行 sed通配符使用 sed多...

  • Sed 用法

    http://www.frostsky.com/2014/01/linux-sed-command/ 应用在实验楼课程:

  • 10-文本处理三剑客之sed

    本章内容 ◆ Sed介绍◆ Sed用法◆ Sed高级用法 处理文本的工具sed sed工具 练习 1、删除cent...

  • sed命令应用场景

    1、sed删除字符串 (1)描述做嵌入式开发,有时候需要分析开机 log,比如一份正常情况下的 log 与一份异常...

  • 【西荷风】Linux清除多余内核

    清除多余的系统安装包、应用安装包等等; dpkg -l 'linux-*' | sed '/^ii/!d;/'"$...

  • sed使用

    94 sed(上) sed工具 sed -n '/root/'p 匹配字符串root sed -n '2'p ...

网友评论

      本文标题:sed 应用

      本文链接:https://www.haomeiwen.com/subject/snfhrftx.html