shell用法

195. 第十行

tail -n+10 file.txt | head -1 # tail从第10行开始打印,head打印第一行
awk 'NR==10' file.txt    # NR表示行号,过滤出第十行
cat file.txt | sed -n 10p    //sed 按行过滤,10p,打印10行, -n 仅显示处理后的结果

194. 转置文件

awk '{
    for (i=1; i<=NF; i++) {    #遍历文件每行
        if (NR==1) {    #第一行
            res[i]=$i;    #保存到数组,数组保存转置后的行
        }
        else {    #非第一行
            res[i]=res[i] " " $i    #修改数组值,追加当前字符
        }
    }
}
END {
    for (i=1; i<=NF; i++) {    #结束,遍历列,(行列数相同)
        print res[i]    # 逐行打印
    }
}' file.txt

193. 有效电话号码

awk '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/' file.txt
sed -n -r '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/p' file.txt
grep -P '^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$' file.txt

192. 统计词频

cat words.txt | awk '{for (i = 1; i <= NF; i ++) nums[$i]++;} END { for(k in nums) print k" "nums[k]}' | sort -rnk 2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值