Linux系统下批量文件名的修改(linux批量文件改名)
Linux 系统下批量文件名的修改
随着 Linux 系统的发展,在 Linux 系统中文件组织起来也变得更加方便,尤其是在文件管理方面。有时,我们需要对大量文件进行批量修改,包括改变文件名,在 Linux 系统中修改批量文件名是非常方便的。
要修改批量文件名,可以使用 Rename 命令:
rename 's/old-string/new-string/' *.txt
该命令会把当前目录下的所有 .txt 文件的文件名中的“old-string”替换成“new-string”,比如把所有“abc.txt”改成“xyz.txt”。
如果要对文件名进行更复杂的替换,比如把文件名中所有的空格替换成“_”,可以使用 sed 命令:
for f in *.txt; do mv $f`echo $f | sed 's/ /_/g'`; done
或者用 for 循环和 mv 命令实现同样的效果:
for f in *.txt; do mv $f `echo $f | tr ' ' '_'`; done
该命令会把所有的空格替换成下划线,比如把文件名“abc def.txt”替换成“abc_def.txt”。
有时,我们需要把多个文件都修改成相同的名字,比如把“a.txt”,“b.txt”,“c.txt”改成“abc.txt”,可以使用 xargs 命令:
ls *.txt | xargs -n 1 -I{} mv {} abc.txt
上面的命令把当前目录下的所有 .txt 文件都修改成“abc.txt”。
在修改文件名之前,最好先备份一下,以免文件名修改出错,把原始文件损坏。
总之,利用上面的命令,可以很方便地在 Linux 系统下修改批量文件名,增加工作效率。