Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1162160
  • 博文数量: 181
  • 博客积分: 4968
  • 博客等级: 上校
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-13 21:52
文章分类

全部博文(181)

文章存档

2015年(2)

2013年(6)

2012年(22)

2011年(41)

2010年(27)

2009年(51)

2008年(32)

我的朋友

分类: LINUX

2009-05-29 11:06:00

文件的批量改名

ls *.jad |xargs -n 1 -i -t mv {} {}.java

A 加后缀

1.问题:同以目录下有海量以日期命名的文件,其中有的有后缀,有的以点结尾,如20020101.,20020102.,……,20020101.td,20020102.td……
要求: 把所有以点结尾的加上后缀.ts
我的方法:
  #!/bin/bash
  for files in `ls *.`
  do
        mv $files `echo "$filests" `
  done

2. 同上

     mv  $files ${files}ts

3. 同上

     mv  $files  `$files.ts|sed 's/\.//' `

4. file =>file.txt

       mv  $files  $files.txt

5. *.04  => *04.txt

    mv $files $(echo ${files}.txt|sed 's/\.//1')

    或者

   mv $files  `echo ${files}.txt|sed 's/\.//1' `

B 改后缀(.old => .new)

1. rename

     rename .old .new  *

2.
    mv $files ${file%.old}.new

3.
    mv $files `echo $files|tr .old .new`

4.
    mv $files `echo $files|sed 's/\.old/\.new/' `
   
C 去后缀 (*.dat => *)

1.  mv $files `echo $files |sed 's/\.dat//' `

2.  mv $files  `echo $files|tr .dat  (4空格)`

D 改前缀 (re* => un*)

1.  mv $files un${$files#re}

2.  mv $files `echo $files | tr re un`


阅读(1249) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~