2019-04-19 sed与awk

一,

xargs -i :让xargs后面可以使用{}|表示前面find找出的文件类似-exec里面的{}。

例:find /etc/ -type f -iname '*.conf' |xargs -i cp {} /tmp

二,

取出网卡ip地址:

ip  a  s eth0  (显示ip)

ip a  eth0 |sed -n '3p' |sed 's#^.*t  ##g' |sed 's#/.*$##g'

后向应用:

ip a  s eth0 |sed -n  '3p'|sed -r  's#^.*t   (.*)   /.*$#\1#g'

获取权限:

stat /etc/hosts  |sed -n '4p' |sed -r  's#^.*\(0([0-9]+)/.*$#\1#g'

三,

awk:取行,取列,删除,统计计算(三剑客老大)

awk与sed的格式

sed     '找谁干啥'    找谁——>条件——>模式

awk     '找谁{干啥}'干啥——>命令——>动作

(1)取行

awk取行=record 记录

       取列=field    字段

取行:awk  'NR==1'  lidao.txt

          NR=Number  of  Record (记录行号)

awk   '/oldboy/'   lidao.txt  (过滤)

(2)取列:awk   '{print   $1}'   oldboy.txt  (取第一列)

                    awk   '{pront  $1,$3}'  oldboy.txt   (取第一列和第三列(,逗号在awk中表示空格)

                    awk   '{print $1"@@@@"$3}'  oldboy.txt


2019-04-19 sed与awk_第1张图片
双引号的作用

(3)awk  -F 指定分隔符

例:awk   -F  ","   '{print  $1}'     (把逗号作为分隔符)

awk  -F  "[    /]+"  (前面不管有多少空格和/都视为一个字符)

只要在[]里的内容正则认为是一样的。

$NF:取出文件的最后一列

awk:比大小

awk -F ":"   '$3>999'   (找出第三列中大于999的行)

你可能感兴趣的:(2019-04-19 sed与awk)