Linux Shell DAY5

awk

            awk -F ':' '{print $1}' test.txt
            9ccc6b2f7643a2728ecd68b29c308d5c456.jpg
           -F ':'指定分隔符: {print $1} 打印第一列 (不会更改文本内容)
             awk '{print $0}' test.txt
            cec09b96f7b98af7789774641fcf4ccb802.jpg
            print $0 打印所有的列
 
            13f7543f540c847ad1889ac3aec0b88c992.jpg
            不指定,默认空格为分割符
            
             awk -F ':'  '{print $1,$3,$4}' test.txt  打印多段
            cac794bb08c3f6ba99d80001faa7060c1d3.jpg
            打印1,3,4 列
 
            awk -F ':'  '{print $1“#”$3“#”$4}' test.txt
            1d546b9f8c9c62a213ed4e14c62812b84a3.jpg
            以#分割
 
            awk '/oo/' test.txt  匹配功能
            993f3f1a69a36831df43eb74dc1d1f22853.jpg
            打印所有有oo的行
 
            awk -F ':' '$1~/oo/' test.txt
            1f57a736f05e4ffce97ee312ebcfcc714b0.jpg
            只打印第一段有oo的行
 
             awk -F ':' '/root/ {print $1,$3} /user/ {print $1,$3,$4}' test.txt
            aed696f7bb6096fc31772e21388ada2ee79.jpg
            一次输出多个
 
            awk -F ':' '$3=="0" ' test.txt   需要==表示等于0  $3=0 表示赋值   输出第三段为0的行
            1b16ea67264ad6243ce93a5d9224ce6b40f.jpg
            awk -F ':' '$3>="1000" ' test.txt
            269a2d93449246692826db46c4367cef5e5.jpg
            awk -F ':' '$3>=1000 ' test.txt
            4a70e2868aac8ade91d6702e83ef0733a0e.jpg
            加"" 表示是字符ASCII去计算,不是数字去比较
 
            awk -F ':' '$7!="/sbin/nologin" ' test.txt
            88916b3afa282a2db1c12b56b3531b45020.jpg
            第7段不等于/sbin/nologin
 
            awk -F ':' '$3<$4' test.txt
            d4ce85fd0eb90ec501f2538f86104498150.jpg
            awk -F ':' '$3==$4' test.txt
            8d902342fbbbe417ad8edc9a696dddbdec7.jpg
 
            awk -F ':' '$3>"5"'&&$3<"7" test.txt
            ab70fa3e6f34e6f04b10550dd266964f645.jpg
            第三段大于5且小于7
    
            awk -F ':' '$3>1000 || $7=="/sbin/nologin"' test.txt
            0dba6b793c8c232a7fc0b3412206fd1390a.jpg
            $3 > 1000 or $7 = "/sbin/nologin"
 
            awk -F ':' '$3>1000 || $7 ~ /bash/' test.txt
            36efbc3bc8baaebc40da8f6e3882cd10005.jpg
            $3 > 1000 or $7 包含bash
 
            awk -F ':' '{OFS="#"} $3>1000 || $7 ~ /bash/  {print $1,$3,$7}' test.txt  OFS指定print 以后用到的分隔符
            1b6608cf526db1905558d1bd73341f24c9b.jpg
            awk -F ':' ‘{OFS="#"} {if($3>1000) {print $1,$2,$3,$3}}' test.txt
            7ae027c650c63bf7e757cebeb281cb542b2.jpg
 
            awk -F ':' '{print NR":"$0}' test.txt
            02d9d27e22ea65d57b73440916a6a6e5b14.jpg
            显示行号
 
            awk -F ':' '{print NF":"$0}' test.txt
            e297cba8afa3c8ce3fd5b0e6d2658e7f05a.jpg
            显示有多少段
 
            awk -F ':' 'NR<=10'  test.txt
            910fb3038807fffbddcfab3252540ac6964.jpg
            显示前十行
            awk -F ':' 'NR<=10' && $1 ~ /root|sync/'  test.txt
            1d9a1fe7dfb58b85a2cf39676277d84887d.jpg
            awk -F ':' '{print $NR":"$NF}' test.txt
            c424829c7620de1088a60afda182b55a9a0.jpg
 
            head -n 3 test.txt |awk -F  ':' '{OFS=":"} $1="root"'  赋值后分隔符消失,要用OFS定义
            291ed6baf3bf649b9f9aaeb38c75c6d80ea.jpg 
            给$1赋值
        
            awk -F ':' '{(tot=tot+$3)}; END {print tot}' test.txt
            74fd26afc2625704d8011ba29fb50a99ccb.jpg
            循环加$3的值,求第三段所有的和
    
            awk -F ':' '{if($1=="root") {print $0}}}' test.txt
            73959692f5cd054971ce9401e860bb4de6d.jpg
 

转载于:https://my.oschina.net/u/3959701/blog/3094533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值