一、问题
使用for循环批量创建10个文件,从linux-1到linux-10。并将上述文件的前缀改为unix。
二、解决
1、批量删除文件
批量创建命名从linux-1到linux-10的文件。
(1)方法一:常规方法
- #使用for循环批量创建10个文件 linux-1到linux-10
- #!/bin/sh
- [ ! -d $PWD/file ] && mkdir -p $PWD/file && exit 1
- for count in `seq 10`
- do
- touch $PWD/file/linux-$count
- done
(2)方法二
- #使用for循环批量创建10个文件 linux-1到linux-10
- #!/bin/sh
- if [ ! -d $PWD/file ] && mkdir -p $PWD/file
- then
- path=$PWD/file
- for count in `seq 10`
- do
- cd $path && touch linux-$count
- done
- else
- exit 1
- fi
(3)方法三
使用shell命令:touch linux-{1..10}或touch linux-`seq 10`
(4)运行效果
2、文件更名
批量将从linux-1到linux-10的文件重新命名为从unix-1到unix-10的文件。
(1)方法一
- #使用for循环批量改名
- #!/bin/sh
- cd $PWD/file
- for count in `seq 10`
- do
- mv linux-$count unix-$count
- done
(2)方法二:常规方法
- #使用for循环批量改名
- #!/bin/sh
- if [ -d $PWD/file ] && cd $PWD/file
- then
- for filename in `ls linux*`
- do
- mv $filename `echo $filename | sed "s/linux/unix/g"`
- #等价于 mv $filename unix-`echo $filename | cut -d"-" -f2`
- done
- fi
(3)使用shell命令:rename linux unix linux*
(4)运行效果
三、总结
(1)sed、cut的用法可以查阅文档理解。
(2)批量处理的方法还有很多,选择最佳的方法处理。