从VeryCD下了一堆电子书,但是其中有些书的命名有点问题,比如单引号被写成“'”。
./[UNIX系统管理高手].O'Reilly.-.Advanced.Perl.Programming.pdf ./[UNIX系统管理高手].O'Reilly.-.Beginning.Perl.For.Bioinformatics.pdf ./[UNIX系统管理高手].O'Reilly.-.Cgi.Programming.With.Perl.pdf ./[UNIX系统管理高手].O'Reilly.-.Classic.Shell.Scripting.Feb.2005-DDU.pdf ./[UNIX系统管理高手].O'Reilly.-.Database.Programming,.John.Wiley.&.Sons.chm ./[UNIX系统管理高手].O'Reilly.-.Embedding.Perl.in.HTML.with.Mason.chm ./[UNIX系统管理高手].O'Reilly.-.Learning.Perl.2nd.pdf ./[UNIX系统管理高手].O'Reilly.-.Learning.Perl.3rd.Edition.pdf ./[UNIX系统管理高手].O'Reilly.-.Learning.Perl.Objects,.References.and.Modules.chm ./[UNIX系统管理高手].O'Reilly.-.learning.perl.the.hard.way.pdf ./[UNIX系统管理高手].O'Reilly.-.Learning.Perl.Tk.1999.pdf ./[UNIX系统管理高手].O'Reilly.-.Learning.the.Unix.OS.chm ./[UNIX系统管理高手].O'Reilly.-.Managing.NFS.and.NIS.2nd.Ed.pdf ./[UNIX系统管理高手].O'Reilly.-.Managing.Projects.with.GNU.make.(2004),.3Ed.DDU.chm ./[UNIX系统管理高手].O'Reilly.-.Mastering.Algorithms.With.Perl.1999.pdf ./[UNIX系统管理高手].O'Reilly.-.Mastering.Perl.For.Bioinformatics.chm ./[UNIX系统管理高手].O'Reilly.-.Mastering.Perl.for.Bioinformatics.pdf
一个个改太麻烦了,所以写了几个命令拼凑一下。先用find把文件名选出来。然后再用AWK对目标文件名进行处理,最后调用mv命令改名。
find -name '*'*' > filelist
awk 'BEGIN { FS="/" } { org=$2; gsub("'", "'/''", $2); org="/"" org "/""; $2="/"" $2 "/""; system("mv " org " " $2); }' filelist
本文介绍了如何使用Unix命令行工具AWK配合find和mv,实现批量修改文件名,特别是针对文件名中包含“'”这类特殊字符的情况。通过创建文件列表并应用AWK脚本,实现了高效便捷的文件重命名操作。
259

被折叠的 条评论
为什么被折叠?



