多语言展示
当前在线:1598今日阅读:138今日分享:33

linux下批量建立,重命名和删除文件

shell是linux系统下强大的管理工具,也是一门编程语言。
工具/原料
1

至少有可运行的linux内核

2

bash或kshell

方法/步骤
1

一,批量建立文件。以ascii文件为例,用touch建立20个文件,名字为expe1,expe2,,,expe20.用while循环: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.用到mv和while循环: let a=1   #输入后按Enter。定义变量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效果如下:

注意事项
1

在命令行下直接执行shell代码时记得按Enter,或者某些情况用\ 取消换行符的原意

2

while循环的条件部分别漏了空格 [ $a -lt 21 ]

推荐信息