在linux中怎么修改文件名?

在linux中怎么修改文件名?,第1张

linux需要修改文件名的时候该 *** 作。

工具/原料:xshell、linux系统、本地设置1.0

1、打开xshell软件连接上linux服务器。

2、使用指令【touch文件】创建一个空文件

3、指令【ls -l】查看新创建的文件。

4、接着使用指令【mv旧文件名新文件名】修改文件名。

5、再次使用【ls -l】可以看到文件名已经被修改成功了。mv修改文件名的时候,新文件名要跟旧文件名在同一个目录下。

查看/home下所有子目录的ok.txt并修改成OK.txt

linux 批量重名名

Linux Shell 批量重命名的方法总览

1、删除所有的 .bak 后缀:

2、把 .jpe 文件后缀修改为 .jpg:

3、把所有文件的文件名改为小写:

4、将 abcd.jpg 重命名为 abcd_efg.jpg:

5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:

6、把文件名中所有小写字母改为大写字母:

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

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

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

可以用脚本实现批量文件名称修改,以perl脚本为例:

注释:

1. # touch rename.perl//创建一个文件:rename.perl , 内容如下。

2. # chmod +x rename.perl

3. # cp rename.perl /bin/

4. # rename.perl 's/gongxu/leibie/g' *//将目录中所有文件名中的 gongxu 替换为 leibie。

#!/usr/bin/perl -w

# rename - Larry's filename fixer

#用法: Perl表达式 [要处理的文件名]

$op = shift or die "Usage: rename expr [files]\n"

#如果没有给出要处理的文件名则从标准输入读入

chomp(@ARGV = <STDIN>) unless @ARGV

for (@ARGV) {

$was = $_

eval $op#对待处理的文件名($_)执行用户输入的Perl表达式$op

die $@ if $@#退出 , 如果eval出错

rename($was,$_) unless $was eq $_

}

rename脚本的经典实例示范:

% rename.perl 's/\.orig$//' *.orig #移除文件末尾的.orig

% rename.perl "tr/A-Z/a-z/ unless /^Make/" * #所有非Make打头的文件名大写转为小写

% rename.perl '$_ .= ".bad"' *.f #每个*.f文件后面追加一个.bad

% rename.perl 'print "$_: "s/foo/bar/ if =~ /^y/i' * #回显每个待处理的文件名, 等待输入, 如果用户输入以y或Y打头, 把文件名中的foo替换成bar

% find /tmp -name "*~" -print | rename.perl 's/^(.+)~$/.#$1/' #把 /tmp目录里面每个文件名末尾有~的文件名改成以.#开头


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8934463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存