1. 用一条命令直接创建
[fred@Royalmile Auto_Ops]$ touch `seq 10`
[fred@Royalmile Auto_Ops]$ ls
1 10 2 3 4 5 6 7 8 9
[fred@Royalmile Auto_Ops]$ touch linux-{A..G}
[fred@Royalmile Auto_Ops]$ ls
linux-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]# ls
01 02 03 04 05 06 07 08 09 10
[fred@Royalmile Auto_Ops]$ mkdir $(echo {a..g})
[fred@Royalmile Auto_Ops]$ ls
a b c d e f g
[fred@Royalmile Auto_Ops]$ mkdir {h..n}
[fred@Royalmile Auto_Ops]$ ls
h i j k l m n
2. 编写shell脚本使用for循环在/home/fred目录下批量创建10个文件,文件名分别以1,2,...6结尾
#!/bin/bash
for f in `seq 6`
do
[ ! -d /home/fred ] && mkdir -p /home/fred
touch /home/fred-$f
done
3. 编写shell脚本将以上创建的所有文件的前缀fred改为linux(ls和sed结合实现)
#!/bin/bash
[ -d /home/fred ] && cd /home/fred
for 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]$ ls
centos-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