zoukankan      html  css  js  c++  java
  • 转-文件批量重命名

    批量改名是大家经常会遇到的情况,那么大家都是怎么做的呢?
    以下是我的批量改名心得,仅供大家参照。欢迎大家提出更多,更好的方法。

    1、例1: 重命名,然后还原

      将 /tmp/a 文件夹下的所有文件,加上后缀 _suffix

      find /tmp/a -type f | xargs -t -i mv {} {}_suffix
      #-i 选项告诉 xargs 用每项的名称替换 {}。-t 选项指示 xargs 先打印命令,然后再执行

      例2: 还原
      将 /tmp/a 文件夹下的所有文件,去掉共通后缀 _suffix

      find /tmp/a -type f | xargs -t rename _suffix ""

      ---------------------------------------------------------
      for file in `ls`;do mv "$file" `echo "$file" | sed s/10971/10972/`; done

      然后发现xrags真的是一个非常有用的命令,它的主要功能是将上一个命令的输出,作为下一个命令的输入参数,和用for循环逐个运行是一样的效果,但是更简单,效率也会更高。

    2、根据find结果,执行各类操作

      例如:

      删除文件夹下所有空文件:

      find . -name "*" -type f -size 0c | xargs -n 1 rm -f
      1、下载文本里面的所有链接:

      cat url-list.txt | xargs wget –c
      2、批量压缩:

      find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
      3、逐个编辑文件:

      file * | xargs vi

    3、最好用的重命名备份 和 还原

      #重命名

      grep -rl 'bootstrap_servers' *.xml |xargs -t -i mv {} {}.0926

      xargs:

      -t 表示先打印命令,然后再执行。
      -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。


      #改回来
      grep -rl 'bootstrap_servers' *.xml.0926 |xargs -t rename .0926 ""

    作者:驴得水。 只做精品
  • 相关阅读:
    zbb20170604 在linux (64bit)下安装rar for linux
    zbb20170601 oracle 存储过程 函数 包
    zbb20170601 oracle PL/SQL 语句块 游标 自定义游标 异常处理EXCEPTION
    5、Spring+Struts2+MyBatis+分页(mybatis无代理)增删改查
    2、枚举
    3、时间和随机数
    4、Spring+MyBatis增删改查
    3、Spring的AOP详解和案例
    2、Spring的 IoC详解(第一个Spring程序)
    1、Spring概述
  • 原文地址:https://www.cnblogs.com/lizhaoxian/p/14535959.html
Copyright © 2011-2022 走看看