grep/sort/awk的简单使用

  1. 统计/etc/passwd文件里的bash字符串数量:

    grep bash /etc/passwd | wc -l
    grep -c bash /etc/passwd
    • grep bash /etc/passwd | wc -l:通过grep查找包含bash的行,然后用wc -l统计行数。
    • grep -c bash /etc/passwdgrep-c选项直接统计匹配行的数量。

  2. 基于GID排序/etc/passwd文件:

    sort -k 4 -t ":" -n /etc/passwd | head -6
    • sort -k 4 -t ":" -n /etc/passwd | head -6:使用sort命令的-k选项指定排序的列(第4列,即GID),-t指定列分隔符为:-n表示按数字排序,最后head -6取前6行。

  3. 输出UID大于1000的用户信息:

    #!/bin/bash
    
    while IFS=":" read   username x uid  gid  others   
    do
    	if  (( $uid  > 1000 ));then
    		echo "username: $username  uid: $uid  gid: $gid"
    	fi
    
    done  </etc/passwd
    		
    
    #!/bin/bash
    
    #while IFS=":" read   username x uid  gid  others   
    cat /etc/passwd|awk -F: '{print $1,$3,$4}'|while  read   username  uid  gid  
    do
    	if  (( $uid  > 1000 ));then
    		echo "username: $username  uid: $uid  gid: $gid"
    	fi
    done 
    • 使用awkwhile read循环都可以实现。awk方法更简洁,而while read方法提供了更多的灵活性,可以在循环内部执行更复杂的逻辑。
  4. 统计access.log中每个IP地址的出现次数:

    awk '{print $1}' access.log | sort | uniq -c | sort -nr
    • awk '{print $1}' access.log | sort | uniq -c | sort -nr:先用awk提取每行的第一个字段(IP地址),然后排序、去重并计数,最后按数字降序排序。

  5. 截取出根分区(/)的使用率:

    df | grep "/$" | awk '{print $5}' | tr -d "%"
    • df | grep "/$" | awk '{print $5}' | tr -d "%":先用df查看磁盘使用情况,然后用grep找到根分区(/)的行,再用awk提取使用率字段,最后用tr删除百分号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值