1、一,批量建立文件。以ascii文件为例,用touch建立20个文件,名字为expe1,expe2,,,expe20.用wh足毂忍珩ile循环:let a=1 # 定义变量用来计数while [ $a -lt 21 ] # 输入后按Enter。当a<21 时do # 输入后按Enter。干touch expe$a # 输入后按Enter。$a将得到到当前a的值let a=$a+1 # 输入后按Enter。令a递增加1done #输入后按Enter。结束循环我们先用ls看当前目录下有什么文件,再输入以上代码:可见确实达到目的。
2、二,批量重命名文件。我们把刚刚建立的文件重命名为wow1,wow2,,,wow20.用到m箪滹埘麽v和while循环:let a=1 #输入后按Ent髫潋啜缅er。定义变量a来计数while [ $a -lt 21 ] #输入后按Enter。当a的值小于21时do #输入后按Enter。干mv expe$a wow$a #输入后按Enter。$a得到当前a的值;在这里,mv起重命名的作用let a=$a+1 #输入后按Enter。令a的值递增加1done #结束while循环来看看效果:
3、三,批量删除。这有很多方法,可以用通配符,一条命令马上就可以做到;也可以交互式地,在每次删除前询问确认。 用通配符,删除当前目录下以字符wow开头的文件: rm wow* #输入后按Enter。* 表示匹配任意长的字符效果如下:
4、或者,担心误删重要文件,我们可以让它每次对一个文件操作前都问:for file in * #输入后按Enter。用for循环,对当前目录下所有文件do #输入后按Enter。干rm -i $file #输入后按Enter。交互式地删除:回答y将执行,n将不删done #输入后按Enter。结束for循环作为例子,先随便建立几个普通文件,再执行输入以上代码:
5、注意,rm中参数 -i 表时interacitvely,交互地。rm是默认只处理普通文件的,会忽略目录;要处理目录,得加上参数 -R:for file in *dorm -iR $filedone效果如下: