Ⅰ linux下批量修改文件名
man bash然后查找%%for i in *; do echo mv $i ${i##_*}.tar;done如果看着显示没问题 就把中间的 echo 去掉 在运行一次
Ⅱ linux怎么批量修改文件名称
可以用脚本实现批量文件名称修改,以perl脚本为例:注释:1. # touch rename.perl //创建一个文件:rename.perl , 内容如下。2. # chmod +x rename.perl3. # 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 [email protected] if [email protected]; #退出 , 如果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目录里面每个文件名末尾有~的文件名改成以.#开头
Ⅲ linux 批量替换某文件夹下的文件名,文件内容,文件夹名称
1.用for灵活,文件名中字符替换,加日期等都可先用下面语句测试一下foriin*aa*;donn=$(echo$i|sed's/aa/bb/');echo"$nn";done保险起见,只拷贝foriin*aa*;donn=$(echo$i|sed's/aa/bb/');cp"$i""$nn";done这是更名,慎用foriin*aa*;donn=$(echo$i|sed's/aa/bb/');mv"$i""$nn";done2.用rename简洁先用-n开关测试rename-n's/aa/bb/'*测试无误去掉-n进行更名rename's/aa/bb/'*
Ⅳ Linux批量修改指定层级文件夹名字以及替换命令
在root目录下find/root/ooo/*-nameaaa|xargsrenameaaabbb
Ⅳ Linux环境下,如何批量移动文件到对应文件夹,文件名和文件夹名都是有序的。
用for语句可以解决。相当如些脚本了。
Ⅵ 关于linux批量修改文件夹内的文件名的问题!
写一个for循环就可以了吧
foriin`find.-name"*.wav"-printdoj=`echo$i|sed's/.{4}$//'`ffmpeg-i$i-acodeclibamr_nb-ab12.2k-ar8000-ac1$j.amrdone
Ⅶ linux下如何批量修改文件名
|ls/data/music/*.mp3|whilereadmyfiledonew=`来echo"$myfile"|tr-d''`mv-f"$myfile"/data/music/$newdone
用源 tr -d ' ' 去除空格得到新文件名
Ⅷ windows与linux下 如何批量更改文件名
提供一个在Linux下使用Shell脚本来批量改名的方法,我很久不用Windows系统了,所以只有Linux下的方法。
我这边在Linux下的测试过程是下面这样的:
「0」提醒:在终端terminal中,第一步就是把当前目录切换到文件所在目录,用cd命令。
「1」新建文件夹,起名为「rename_by_source」,用来放置「改名前的文件」、「shell脚本文件」、「文件名对应文件」,以及保存「改名后的文件」。你在自己电脑上操作时,也建议你把下载下来的需要改名的文件放到一个单独的文件夹里,这样容易查看一些。
「2」我新建的「rename_by_source」文件夹中,根据你给的文件名对应表,新建了4个「改名前的文件」,它们是空白文件,只是有个文件名而已,另外,估计文件类型是mp3文件,所以后缀名是.mp3,如果你的文件不是mp3类型的话,请届时自行在shell脚本文件里更改相关的代码行。
「3」在文件夹中,新建了「source_name.txt」文件,用来放置(改名前)与(改名后)的对应文件名,跟你给的图片一样,也是一行对应一个文件的,只不过,把ren那一列删除了。如果你要直接使用下面提供的shell脚本的话,也请把你的文件名对应文件中的ren那一列删除,并且「数字」名的前面不要有空格或其它字符。同时,你的文件名对应文件也请保存为「source_name.txt」这个名称和格式的文件。
「4」shell脚本文件「rename_by_source.sh」,内容如下:
#!/bin/bashcatsource_name.txt|whilereadLINEdoori_name=${LINE:0:7};des_name=${LINE:8};cp"${ori_name}.mp3""${des_name}.mp3";done
解释一下,第3句是逐行读取source_name.txt的内容,并赋值给变量LINE,第5句是把该行的第1至第8个字符作为原始文件名,第6句是把该行的第9至末尾的字符串作为新文件名,第7句是在当前文件夹下「复制」(原始文件名.mp3)文件并重命名为(新文件名.mp3)文件。
之所以采用「复制」而不是「移动」命令,主要还是希望避免误操作。
「5」在前面的文件夹中,新建并保存上述shell脚本文件,然后在终端terminal里赋予此shell脚本文件的可执行权限,反正也没有什么关系,我是直接改为了777权限:
sudochmod777rename_by_source.sh
「6」在终端中,在当前文件夹下运行上述shell脚本文件:
./rename_by_source.sh
完成。
下面是我这里的测试截图,
如有帮助,烦请采纳,谢谢!
Ⅸ linux下批量修改文件夹名称
批量那么只能,把任意的XXX数字给改道比如ABC数字上去,能明白不
Ⅹ linux shell中怎样批量修改文件名为 文件夹_文件名
|^#!/usr/bin/envbashsrc_dir=/srv/http/sh/exp1/dir=`ls-1$src_dir`fordir_namein`ls-1$src_dir`;doif[-d$src_dir$dir_name]then#echo$src_dir$dir_nameforfile_namein`ls-l$src_dir$dir_name|grep^-|awk'{print$9}'`;domv$src_dir$dir_name"/"$file_name$src_dir$dir_name"/"$dir_name"_"$file_namedonefidone
未经允许不得转载:山九号 » linux批量剪切文件夹名称|linux怎么批量修改文件名称