linux批量删除递增文件或linux批量建立文件或重命名文件-泓源视野

linux批量删除递增文件或linux批量建立文件或重命名文件

首先删除ip3389_1.txt ; ip3389_2.txt ; ip3389_3.txt …… ip3389_46.txt只能删到45
let i=1; while [ $i -lt 46 ]; do rm -r ip3389_$i.txt; let i=$i+1; done

其次

  • 一,批量建立文件。以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递增加1

    done   #输入后按Enter。结束循环

    我们先用ls看当前目录下有什么文件,再输入以上代码:

    可见确实达到目的。

    linux批量删除递增文件或linux批量建立文件或重命名文件插图
  • 二,批量重命名文件。我们把刚刚建立的文件重命名为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的值递增加1

    done    #结束while循环

    来看看效果:

    linux批量删除递增文件或linux批量建立文件或重命名文件插图1
  • 三,批量删除。这有很多方法,可以用通配符,一条命令马上就可以做到;也可以交互式地,在每次删除前询问确认。

    用通配符,删除当前目录下以字符wow开头的文件:

    rm  wow*       #输入后按Enter。* 表示匹配任意长的字符

    效果如下:

    linux批量删除递增文件或linux批量建立文件或重命名文件插图2
  • 或者,担心误删重要文件,我们可以让它每次对一个文件操作前都问:

    for file in  *    #输入后按Enter。用for循环,对当前目录下所有文件

    do   #输入后按Enter。干

    rm -i $file    #输入后按Enter。交互式地删除:回答y将执行,n将不删

    done   #输入后按Enter。结束for循环

    作为例子,先随便建立几个普通文件,再执行输入以上代码:

    linux批量删除递增文件或linux批量建立文件或重命名文件插图3
  • 注意,rm中参数 -i 表时interacitvely,交互地。rm是默认只处理普通文件的,会忽略目录;要处理目录,得加上参数 -R:

    for file in *

    do

    rm -iR $file

    done

    效果如下:

    linux批量删除递增文件或linux批量建立文件或重命名文件插图4
本文由 泓源视野 作者:admin 发表,其版权均为 泓源视野 所有,文章内容系作者个人观点,不代表 泓源视野 对观点赞同或支持。如需转载,请注明文章来源。
18

发表评论

Protected with IP Blacklist CloudIP Blacklist Cloud
您是第8231608 位访客, 您的IP是:[18.97.14.87]