Shell命令批量修改图片文件名


公司同事今天找我帮忙修改文件名,我一看,好嘛,几百个文件要改名,文件名格式是_01.png _02.png这样依次类推,同事要求把前面的"_"给去掉,还好要求算简单,没有让我再改成其他名字。

一条命令搞定:


for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1 "0" $2}'`; done


如果要连_0都去掉的话,就这样写:


for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1,$2}'`; done


好了,这样就搞定了,再给大家一些其他类似的命令吧,下面的命令我没有验证,有问题的话不要找我哦.

把格式 *_?.jpg 的文件改为 *_0?.jpg:


for i in `ls *_?.jpg`; do mv "$i" `echo "$i" |awk -F '_' '{print $1 "_0" $2}'`; done


把文件名的前三个字母变为 vzomik:


for i in `ls`; do mv -f "$i" `echo "$i" |sed 's/^.../vzomik/'`; done


把文件名的后四个字母变为 vzomik:


for i in `ls`; do mv -f "$i" `echo "$i" |sed 's/....$/vzomik/'`; done

Shell脚本中实现切换用户并执行命令操作
今天公司同事来找到我说要在服务器上用另外一个用户执行python脚本,但设置到crontab里却老是root用户来执行,为了省事我就想了一个偷懒的办法,就是用she

Shell脚本实现批量替换文件内容
今天同事发现内部服务器的硬盘空间不够了,上面有很多备份,我又不能删除,重新找了个320g的硬盘挂载了上,想以后shell脚本下的备份都转移到新硬盘上,给

Shell脚本自动删除指定大小以上的备份文件
最近本地虚拟机的空间老是被备份给占满,为了偷懒不想自己天天登录上去清除,才写了这个自动清理脚本.系统:centos5.x脚本内容:catmake_room.sh#!/bin/bash#size=`