zoukankan      html  css  js  c++  java
  • shell 批量重命名

    原文链接https://www.cnblogs.com/sunmmi/articles/6709125.html

    shell 批量重命名

     

    1.把文件名的第一字母批量改成a

    方法一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8801.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8802.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8803.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8804.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8805.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8806.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8807.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8808.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 8809.txt
    [root@jenkins test]# for i in `ls`;do mv -f $i `echo $i | sed 's/^./a/'`;done
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a801.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a802.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a803.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a804.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a805.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a806.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a807.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a808.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a809.txt

     方法二:

    1
    2
    3
    4
    5
    for in `ls`
    do
        newfile = `echo $i | sed 's/^./a/'`
        mv -f $i $newfile
    done

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    [root@tracker web30]# ll
    total 88
    -rw-r--r-- 1 root root  872 Oct 18 19:32 8901www.conf
    -rw-r--r-- 1 root root  652 Oct 18 19:32 8902order.conf
    -rw-r--r-- 1 root root  846 Oct 18 19:32 8904product.conf
    -rw-r--r-- 1 root root  842 Oct 18 19:32 8906topic.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8907user.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8908cart.conf
    -rw-r--r-- 1 root root  838 Oct 18 19:32 8909api.conf
    -rw-r--r-- 1 root root  879 Oct 18 19:32 8910m.conf
    -rw-r--r-- 1 root root  932 Oct 18 19:32 8911search.conf
    -rw-r--r-- 1 root root 1233 Oct 18 19:32 8912webapi.conf
    -rw-r--r-- 1 root root 1163 Oct 18 19:32 8913tuan.conf
    -rw-r--r-- 1 root root  967 Oct 18 19:32 8914upload.conf
    -rw-r--r-- 1 root root  923 Oct 18 19:32 8915static.conf
    -rw-r--r-- 1 root root  824 Oct 18 19:32 8916temp.conf
    -rw-r--r-- 1 root root  830 Oct 18 19:32 8920pay.conf
    -rw-r--r-- 1 root root  841 Oct 18 19:32 8922passport.conf
    -rw-r--r-- 1 root root  875 Oct 18 19:32 8924mapi.conf
    -rw-r--r-- 1 root root  833 Oct 18 19:32 8932lqrcodeserver.conf
    -rw-r--r-- 1 root root  839 Oct 18 19:32 8933ystorage.conf
    -rw-r--r-- 1 root root  825 Oct 18 19:32 8934larea.conf
    -rw-r--r-- 1 root root  841 Oct 18 19:32 8935lcaptchaserver.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8936supply.conf
     
    # 文件的第二个名批量改成87
    [root@tracker web30]# for i in `ls`;do mv -f $i `echo $i | sed 's/^8./87/'`;done
    [root@tracker web30]# ll
    total 88
    -rw-r--r-- 1 root root  872 Oct 18 19:32 8701www.conf
    -rw-r--r-- 1 root root  652 Oct 18 19:32 8702order.conf
    -rw-r--r-- 1 root root  846 Oct 18 19:32 8704product.conf
    -rw-r--r-- 1 root root  842 Oct 18 19:32 8706topic.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8707user.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8708cart.conf
    -rw-r--r-- 1 root root  838 Oct 18 19:32 8709api.conf
    -rw-r--r-- 1 root root  879 Oct 18 19:32 8710m.conf
    -rw-r--r-- 1 root root  932 Oct 18 19:32 8711search.conf
    -rw-r--r-- 1 root root 1233 Oct 18 19:32 8712webapi.conf
    -rw-r--r-- 1 root root 1163 Oct 18 19:32 8713tuan.conf
    -rw-r--r-- 1 root root  967 Oct 18 19:32 8714upload.conf
    -rw-r--r-- 1 root root  923 Oct 18 19:32 8715static.conf
    -rw-r--r-- 1 root root  824 Oct 18 19:32 8716temp.conf
    -rw-r--r-- 1 root root  830 Oct 18 19:32 8720pay.conf
    -rw-r--r-- 1 root root  841 Oct 18 19:32 8722passport.conf
    -rw-r--r-- 1 root root  875 Oct 18 19:32 8724mapi.conf
    -rw-r--r-- 1 root root  833 Oct 18 19:32 8732lqrcodeserver.conf
    -rw-r--r-- 1 root root  839 Oct 18 19:32 8733ystorage.conf
    -rw-r--r-- 1 root root  825 Oct 18 19:32 8734larea.conf
    -rw-r--r-- 1 root root  841 Oct 18 19:32 8735lcaptchaserver.conf
    -rw-r--r-- 1 root root  840 Oct 18 19:32 8736supply.conf

    2.文件的前3个字符改成BBB

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a801.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a802.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a803.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a804.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a805.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a806.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a807.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a808.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 a809.txt
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB1.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB2.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB3.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB4.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB5.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB6.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB7.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB8.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB9.txt

     3.文件前面批量加个字符abc

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB1.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB2.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB3.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB4.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB5.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB6.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB7.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB8.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 BBB9.txt
    [root@jenkins test]# for i in `ls`;do mv -f $i `echo abc_$i`;done
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB1.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB2.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB3.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB4.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB5.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB6.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB7.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB8.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB9.txt

     4.文件名所有小写字变成大写

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB1.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB2.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB3.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB4.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB5.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB6.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB7.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB8.txt
    -rw-r--r-- 1 root root 0 Apr 14 15:02 abc_BBB9.txt
    [root@jenkins test]# for i in `ls`;do mv -f $i `echo $i | tr 'a-z' 'A-Z'`;done
    [root@jenkins test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB1.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB2.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB3.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB4.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB5.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB6.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB7.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB8.TXT
    -rw-r--r-- 1 root root 0 Apr 14 15:02 ABC_BBB9.TXT

     

    原文链接https://www.cnblogs.com/pangblog/p/3243931.html

    1、删除所有的 .bak 后缀:


    rename 's/.bak$//' *.bak

    注意,这个命令的格式组织如下:s/   .bark$   / / 是s/para1/para2/ 这个有点想sed的语法,将para1匹配的字符串换成para2

    2、把 .jpe 文件后缀修改为 .jpg:


    rename 's/.jpe$/.jpg/' *.jpe

    3、把所有文件的文件名改为小写:


    rename 'y/A-Z/a-z/' *

    4、将 abcd.jpg 重命名为 abcd_efg.jpg:


    for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done

    其中,此处涉及到shell的字符串匹配操作:

    1> ${variable#pattern}
    如果pattern匹配variable的开始部分,从variable的开始处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。

    2> ${variable##pattern}
    如果pattern匹配variable的开始部分,从variable的开始处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。

    3> ${variable%pattern}
    如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。

    4> ${variable%%pattern}
    如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。

    5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:


    for var in *.jpg; do mv "$var" "${var%_efg.jpg}_lmn.jpg"; done

    6、把文件名中所有小写字母改为大写字母:


    for var in `ls`; do mv -f "$var" `echo "$var" |tr a-z A-Z`; done

    tr:traslate or delete characters

    7、把格式 *_?.jpg 的文件改为 *_0?.jpg:

    for var in `ls *_?.jpg`; do mv "$var" `echo "$var" |awk -F '_' '{print $1 "_0" $2}'`; done

    8、把文件名的前三个字母变为 vzomik:


    for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/^.../vzomik/'`; done

    9、把文件名的后四个字母变为 vzomik:


    for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/....$/vzomik/'`; done

    参考:

  • 相关阅读:
    css3 box-shadow
    JS的Document属性和方法
    简单配色方案web
    ps中参考线的使用技巧
    min-width() ie6
    js 模拟右键菜单
    display:table-cell
    js opener 的使用
    js的 new image()
    CSS 中文字体 Unicode 编码方案
  • 原文地址:https://www.cnblogs.com/wal1317-59/p/12079592.html
Copyright © 2011-2022 走看看