Linux shell常用脚本命令

楔子

学习记录笔记,能力有限,希望不要误导大家

1 xargs

1.1 查找拷贝文件|查找解压文件

注意 使用-n -f 即可

查找输出|-n参数指定每次将多少项,作为命令行参数。
find -type f -name "*.gz"|xargs -n 1

查找拷贝到 当前文件夹tt目录中|如果xargs要将命令行参数传给多个命令,可以使用-I参数  |如下  把fs作为了参数
find -type f -name "*.gz"|xargs -n 1 -I fs cp fs tt/

查找解压
find /opt/tar/  -name "*.gz" |xargs -n 1  tar xzvf

-n -f 参数解释 可以参考 阮一峰 xargs 命令教程

  • n:-n参数指定每次将多少项,作为命令行参数。
  • I :如果xargs要将命令行参数传给多个命令,可以使用-I参数。-I指定每一项命令行参数的替代字符串。
    在这里插入图片描述
    在这里插入图片描述

复制创建文件夹

--拷贝文件到日期目录
echo 202004{07..10}|xargs -n 1|xargs -I ID sh -c 'cp   *_日报_ID.xlsx ID/' 

-- 复制
echo {13..17}|xargs -n 1|xargs -I ID sh -c 'cp 日报_20200410.xlsx   日报_202004ID.xlsx'
-- 新建文件夹
mkdir 202004{13..17}

3 文件重命名

3.1 准备测试文件

echo {01..81}|xargs -n 1|xargs -I ID sh -c '  sleep 5;curl  -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.69 Safari/537.36 Edg/81.0.416.34" --referer https://www.mzitu.com/213225/2 https://i3.mmzztt.com/2019/11/25bID.jpg -o ID.jpg'

在这里插入图片描述

3.2 替换为日期文件

从命名文件|加上年月日
ls | xargs -I ID sh -c 'mv  ID   `date +%F`-ID'

在这里插入图片描述

3.3 图片替换名字

2020变成图片
ls   |xargs -n 1| xargs -I ID sh -c 'mv -v ID   $(echo ID |sed 's/2020/图片/') '

CURL批量下载网络图片

echo {01..66}|xargs -n 1|xargs -I ID   curl --referer https://www.mzitu.com/214337 https://i5.meizitu.net/2019/12/ID24.jpg -o ID.jpg


echo {01..66}|xargs -n 1|xargs -I ID sh -c '  sleep 5;curl --referer https://www.mzitu.com/214337 https://i5.meizitu.net/2019/12/IDb24.jpg -o ID.jpg'

echo {1..19}|xargs -n 1|xargs -I ID sh -c 'curl https://mtl.gzhuibei.com/images/img/18859/ID.jpg -o ID.jpg'

echo {001..83}|xargs -n 1|xargs -I ID sh -c '  sleep 1;curl --referer https://www.nvshens.net/g/31724/14.html https://t1.onvshen.com:85/gallery/22162/31736/s/ID.jpg -o ID.jpg'


---设置用户代理|https://www.cnblogs.com/hujiapeng/p/8470099.html

echo {01..81}|xargs -n 1|xargs -I ID sh -c '  sleep 5;curl  -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.69 Safari/537.36 Edg/81.0.416.34" --referer https://www.mzitu.com/213225/2 https://i3.mmzztt.com/2019/11/25bID.jpg -o ID.jpg'

curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.69 Safari/537.36 Edg/81.0.416.34' -e https://www.mzitu.com/213225/2 https://i3.mmzztt.com/2019/11/25b02.jpg -o ID.jpg

date

时间格式化

-F  输出长格式字符年月日
    date +%F  --> 2017-08-02


-y  输出短格式字符
    date +%y-%m-%d -->17-08-02


-H-M-S: 输出时分秒
    date +%y-%m-%d\ %H-%M-%S -->17-08-02 21-16-14
    date +%y-%m-%d\ %H:%M:%S -->17-08-02 21:16:14


-h  输出月份

-T: 直接时分秒
    date +%F\ %T   --> 2017-08-02 21:18:14


-w: 显示今天星期几
    date +%w    星期三


-d: 提前/推迟显示天数
    date +%F -d "-1day"   2017-08-01
    date +%F               2017-08-02
    date +%F -d "+1day"   2017-08-03

    date +%F\ %H:%M:%S -d "+2hour 2min 2sec"      2017-08-02 23:40:49  -->提前2小时2分2秒
    date +%F\ %H:%M:%S                                  2017-08-02 21:38:47
    date +%F\ %H:%M:%S -d "-2hour -2min -2sec"      2017-08-02 19:36:45  -->推迟2小时2分2秒

找出最大的10个文件

find . -type f -exec du -k {} \; | sort -nrk 1 | head
发布了308 篇原创文章 · 获赞 70 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/u012848709/article/details/103368653