简洁的想法

 找回密码
 注册
搜索
查看: 637|回复: 0

linux bash 文件批量改名

[复制链接]
发表于 2011-10-23 14:05:42 | 显示全部楼层 |阅读模式
  1. for i in *.jpg; do mv $i ${i%_mini.jpg}.jpg;done
复制代码
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`

转自:http://www.hackbase.com/tech/2011-04-28/63496.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|Archiver|简洁的想法

GMT+1, 2021-2-28 13:35

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表