一、问题
使用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)批量处理的方法还有很多,选择最佳的方法处理。