linux下批量改文件名命令,linux(uinx)批量修改文件名的命令行

ming内容前要:同事有一个批量改服务器上文件名字的需求。我把在ubuntu上批量修改文件名字的命令给他,但是不能用。因为服务器是unix。所以下面整理一下批量修改文件名的命令。

===================================================我是分隔符================================================

首先 你要先知道 自己所处的服务器环境。

命令:cat /proc/version

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzEzNzM3NzEzLnBuZw==.jpg

接下来介绍 一下ubuntu的批量修改文件名字的命令。

命令 :ls

我们先看一下文件夹下面有哪些 文件

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzEzOTgzODE2LnBuZw==.jpg

然后讲 文件名中的gg改为yy

命令:rename -v ‘s/gg/yy‘ *

然后 命令:ls ,看一下现在的名字

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzE0MDM3NTI5LnBuZw==.jpg

解释一下 这句命令:

rename -v ‘s/gg/yy‘ *

===================================================我是分隔符================================================

当你不知道 一个命令改如何使用的时候,你可以在命令行敲这个命令

命令:man rename

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzE0MTAxOTg0LnBuZw==.jpg

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

ps:按一下q 退出。

*********************************************************************我是分隔符************************************************************************************************

但是上面这个命令不适合unix

同样的命令 man rename

在uinx上显示为:

obzm9lYnzP.html

这就说明在这种环境下,没办法使用上面的方式批量修改文件名字。这时,我们就需要使用for循环来改名。

命令: for i in `ls`; do mv -f $i `echo "6"$i`; done

解释:for i in `ls` 意思 是 循环当前文件夹下的所有文件;

do mv -f  执行mv 命令,-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;

$i  代表循环体中每一个文件;

echo  输出为XXX;如果是 该文件夹下所有文件一起改名字,那么 前面的命令复制粘贴就可以了,从echo开始改成自己需要的样子就可以了。

"6"$i`  在所有文件名的前面加上6;

done    结束;

该命令的运行结果为:

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzE0MjMyODQ5LnBuZw==.jpg

下面举几个??,更明白点。

命令:for i in `ls`; do mv -f $i `echo $i | sed ‘s/^.//‘`; done

注:sed可依照script的指令,来处理、编辑文本文件。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

后面为正则表达式,/^表示正则的开始,. 代表第一位,/ 表示结束。意思为将第一位置为空。

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzE0NDYwMzk3LnBuZw==.jpg

命令:for i in `ls`; do mv -f $i `echo $i | sed ‘s/^./new/‘`; done    将文件名的第一位改为new。

obzm9lYnzP.html

命令:for i in `ls`; do mv -f $i `echo $i | sed ‘s/^/new/‘`; done    在文件名前面添加new。

obzm9lYnzP.html

命令: for i in `ls`; do mv -f $i `echo $i | sed ‘s/$/new/‘`; done    在文件名的后面添加new。

obzm9lYnzP.html

命令: for i in `ls`; do mv -f $i `echo $i | sed ‘s/.$/6/‘`; done    在文件名的后面添加new。

obzm9lYnzP.html

命令:for i in `ls`; do mv -f $i `echo $i | tr A-Z a-z `; done  将文件名的大写字母转为小写字母;

obzm9lYnzP.html

===================================================分隔符==========================================================================

L3Byb3h5L2h0dHAvaW1hZ2UubWFtaWNvZGUuY29tL2luZm8vMjAxODAzLzIwMTgwMzMwMTkyMzE0NjU3NjcwLnBuZw==.jpg

希望吾皇 有一天也对我说这么甜蜜的话。mua

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值