一行shell代码搞定问题

本文介绍了一系列Shell脚本技巧,包括查找包含特定字符串的XML文件并按出现次数排序、统计文本文件中出现频率最高的字符串及邮箱类型、提取TXT文件首行内容、查找目录下最大文件及修改文件内容等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 查找至少有一行包含字符串mysql的xml文件,并按照出现次数降序排列
find . -type f -iname "*.xMl"| xargs grep -c mysql | grep -v ":0$" | sort -t : -k 2 -nr

find . -type f -regex ".+xml" -exec grep -l mysql {} \; | xargs grep -c mysql | sort -t : -k 2 -nr


2. 统计第二列重复出现次数最多的5个字符串
awk -F " # " '{print $2}' source.txt | sort | uniq -c | sort -nf | tail -n 5 > ~/PwdTop5.txt

awk '{print $3}' source.txt | sort | uniq -c | sort -nr | head -5 > ./PwdTop5.txt &


3. 统计邮箱类型出现频率最高的前5个
awk -F " # " '{print $3}' source.txt | cut -d @ -f 2 | sort | uniq -c | sort -nf | tail -n 5 > EmailTop5.txt


注:
source.txt 中的文本格式为
AAA # BBB # CCC@foxmail.com
AAB # BBC # CCD@qq.com
AAC # BBD # CCE@163.com


4. 将所有txt文件的第一行输出到first.txt文件中
find / -name "*.txt" -exec head -n 1 {} \; 1>first.txt  2>/dev/null &


5. 查找当前路径下最大的5个文件
find . -type f -exec ls -l {} \; | sort -nr -k 5 | head -n 5


6. 统计所有jpg文件的大小
find / -name "*.jpg" -exec wc -c {} \; | awk '{print $1}' | awk '{a+=$1} END{print a}'


7. 将PATH路径下所有非jpg和JPG文件内容中的aaa部分重命名为bbb部分
find $PATH -type f -print |grep -v ".*\.\(jpg\|JPG\)" | xargs sed -i "s/aaa/bbb/g"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值