高效率的Shell

1. 批量将Excel转为CSV文件

XLSX2CSV: https://github.com/dilshod/xlsx2csv

sudo easy_install xlsx2csv #安装Xlsx2CSV

 

find ./ -name "*.xls*" -print | xargs  -t -I {}  xlsx2csv -a {} {}_output  #查找并输出

 

2. Nginx日志分析

筛选原始日志:

sed -n '/30\/Mar\/2015/,/5\/Apr\/2015/ p' beta.xxx.com.access.log > 0330-0405.log

//筛选refer关键词并排序

awk '($11 ~ /atsm\/.*\//)' 17-23.log | awk '{print $11}' | sort | uniq -c | sort -r >atsm-17-23.log

//根据时间进行分割

sed -n '/21\/Jun\/2016:17/,/21\/Jun\/2016:23/ p' access.log > 17-23.log

 

特定页面分析并排队IP、蜘蛛访问:

cat 0330-0405.log | grep 'GET /zhuanti/play/Recruitment' | grep -Ev '21x.142.111.9x'| grep -Ev 'bot'|grep -Ev 'spider'|grep -Ev '22x.171.80.4x'| grep -Ev '5x.50.44.8x' |wc -l

 

3. 批量解压

find ./ -type f -name "*.gz" -exec gunzip -r {} \;

find ./ -type f -name "*.tar.gz" -exec tar zxvf {} \;

 

4.按顺序合并

for ((i=6;i<=8;i++))do echo access.log-2015040$i;done | xargs cat {} >> mynew.txt

 

5. 导入Nginx日志到Piwik系统

python /Applications/AMPPS/www/piwik/misc/log-analytics/import_logs.py --debug --show-progress --login=cbcye --password=haha --idsite=2  --dry-run  --recorders=4 --enable-http-errors --enable-http-redirects --enable-static --enable-bots --url=http://localhost/piwik/ ~/Downloads/07.log 

 

6. 创建相同子目录不包括文件 

ls /work/code/game/games -print |xargs -t -I {} mkdir /work/redirect/game_to_product/{}

 

7. 拷贝文件到所有目录中

 ls | awk '{print $NF}' | xargs -t -I {} cp /work/redirect/to_other_index.php {}/index.php

 

8. 添加内容到首行,会生成一个以old为后缀的文件复本

sed -iold '1i\'$'\n''姓名,手机号'$'\n' test.csv

 

9. 按行记录拆分文件,-a指定生成文件名序列的长度,默认为2 

split -a 3 -l 999 300w.csv out_

 

10.查找文件并添加首行的文件中

find ./ -name 'out_*' | xargs -t -I {} sed -i _old '1i\'$'\n''姓名,手机号'$'\n' {}

 

11.批量改名

find ./ -name "icon copy*.jpg" | sed 's/icon copy.jpg$//g'|xargs -t -I {} mv "{}icon copy.jpg" {}logo.jpg

 

12.批量删除

find ./ -name "icon copy*.jpg" -exec rm -rf {}\;

 

13. 统计文件夹下所有文件夹个数

ls -l |grep "^d"|wc -l

 

14. 删除文件大小小于10k的文件

find ./ -name '*.html' -size -10kc |xargs -t -I {} rm -rf {}

 

15.批量修改文件夹名称

find ./ -name "*.bin" -exec rename "s/.bin/.json/" {} \; 

posted on   Gary Zhang  阅读(600)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2012-02-06 外包项目的内外部管理

导航

点击右上角即可分享
微信分享提示