1. 用一条命令直接创建
[fred@Royalmile Auto_Ops]$ touch `seq 10`[fred@Royalmile Auto_Ops]$ ls1 10 2 3 4 5 6 7 8 9[fred@Royalmile Auto_Ops]$ touch linux-{A..G}[fred@Royalmile Auto_Ops]$ lslinux-A linux-B linux-C linux-D linux-E linux-F linux-G[fred@Royalmile Auto_Ops]# echo {01..10}01 02 03 04 05 06 07 08 09 10[fred@Royalmile Auto_Ops]# touch {01..10}[fred@Royalmile Auto_Ops]# ls01 02 03 04 05 06 07 08 09 10[fred@Royalmile Auto_Ops]$ mkdir $(echo {a..g})[fred@Royalmile Auto_Ops]$ lsa b c d e f g[fred@Royalmile Auto_Ops]$ mkdir {h..n}[fred@Royalmile Auto_Ops]$ lsh i j k l m n
2. 编写shell脚本使用for循环在/home/fred目录下批量创建10个文件,文件名分别以1,2,...6结尾
#!/bin/bashfor f in `seq 6`do [ ! -d /home/fred ] && mkdir -p /home/fred touch /home/fred-$fdone
3. 编写shell脚本将以上创建的所有文件的前缀fred改为linux(ls和sed结合实现)
#!/bin/bash[ -d /home/fred ] && cd /home/fredfor f in `ls fred*`do mv $f $(echo $f | sed 's#fred#linux#')done
4. 使用rename命令直接修改名字
[fred@Royalmile Auto_Ops]$ touch linux-{A..G}[fred@Royalmile Auto_Ops]$ rename linux centos linux??[fred@Royalmile Auto_Ops]$ lscentos-A centos-B centos-C centos-D centos-E centos-F centos-G
5. 结合ls和awk实现批量改名
[fred@Royalmile Auto_Ops]$ ls /home/fred/linux-1 linux-2 linux-3 linux-4 linux-5 linux-6[fred@Royalmile Auto_Ops]$ ls /home/fred/linux-* | awk -F'-' '{print "mv "$0" "$1$2}' | /bin/bash[fred@Royalmile Auto_Ops]$ ls /home/fred/linux1 linux2 linux3 linux4 linux5 linux6