linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法:
输入man rename 看到第一行是:
RENAME(1) Linux Programmer’s Manual RENAME(1)
这个就是C语言版本的
而如果出现:
RENAME(1) Perl Programmers Reference Guide RENAME(1) 则是Perl版本的了
C语言版本格式:rename 原字符串 新字符串 文件名
Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名
rename支持正则表达式
例子:
字母的替换 rename "s/AA/aa/" * // 把文件名中的AA替换成aa
修改文件的后缀 rename "s//.html//.php/" * // 把.html 后缀的改成 .php后缀
批量添加文件后缀 rename "s/$//.txt/" * // 把所有的文件名都以txt结尾
批量删除文件名 rename "s//.txt//" * // 把所有以.txt结尾的文件名的.txt删掉
linux下的mv命令可以批量移动文件或文件夹:
批量移动文件到home目录: mv file1 file2 file3 /home/
批量移动文件夹到home目录: mv dir1/ dir2/ dir3/ /home/
批量移动相同类型的文件或文件到到home目录: mv dir* /home/
请参看 mv --help的帮助信息.
可以用mv -p命令。如:mv -p /home/vechina/samples/csi8/test_1 test_2 test_3 /home/vechina/samples/csi10
其中:/home/vechina/samples/csi8/是原路径;test_1、test_2、test_3是要移动的文件;/home/vechina/samples/csi10是目标路径。
mv命令介绍:
命令语法:语法:mv[选项]源文件或目录 目标文件或目录。
参数介绍:
-i:交互式 *** 作。如果mv *** 作将导致对已存在的目标文件的覆盖,此时系统会询问是否覆盖,用户输入‘y进行覆盖,输入'n'则不覆盖,这样可以避免误覆盖文件。
-f:禁止交互式 *** 作。在mv *** 作要覆盖某已有的目标文件或目录时不给任何指示,默认覆盖。
如果所给目标文件(不是目录)已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
-b:覆盖文件前先对其进行备份
-S或--suffix=后缀:不理会通常的备份后缀
-u或--update:移动或覆盖目的文件时若日期比目的文件旧,且目的文件已经存在,则不执行覆盖文件命令
-t或--target-directory=目录:移动所以源参数到指定目录
-T或--no-target-directory:将DEST作为普通文件
--help:显示帮助信息
-v或--version:显示版本帮助信息
--verbose:显示执行的详细信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)