Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1642836
  • 博文数量: 268
  • 博客积分: 8708
  • 博客等级: 中将
  • 技术积分: 3764
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-06 15:58
文章分类

全部博文(268)

文章存档

2014年(1)

2013年(15)

2012年(23)

2011年(60)

2010年(51)

2009年(12)

2008年(59)

2007年(47)

分类: LINUX

2010-12-06 17:04:07

批量修改文件后缀
for file in $(find . -name "*.del" -type f);do mv "$file" "${file%.del}";done
file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ } 分别替换获得不同的值:
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
${file#*.}:拿掉第一个 .  及其左边的字符串:file.txt
${file##*.}:拿掉最后一个 .  及其左边的字符串:txt
${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
${file%.*}:拿掉最后一个 .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个 .  及其右边的字符串:/dir1/dir2/dir3/my

//集体增加后缀
find . ! -type d |xargs -i mv {} {}.c;
find . ! -type d -exec mv -f {} {}.suf \;

要想把my.file.txt 变成 my.file.cpp
mv "$file" "${file%.*}.cpp"
改变当前目录及子目录下所有.cc的文件后缀为.cpp
for file in $(find . -name "*.cc" -type f);do mv "$file" "${file%.*}.cpp";done

批量删除文件
find . -name "*.o"  -exec rm {} \;

阅读(2089) | 评论(0) | 转发(0) |
0

上一篇:管道

下一篇:字节对齐

给主人留下些什么吧!~~