Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536510
  • 博文数量: 142
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 1477
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 22:37
文章分类

全部博文(142)

文章存档

2013年(3)

2012年(21)

2011年(53)

2010年(33)

2009年(32)

分类:

2009-12-13 18:13:03

当前目录下所有.tmp文件统一加后缀.log
#ls *.tmp |xargs -i mv {} {}.log
#find . -name "*.tmp" -type f -exec mv -f {} {}.log \;
 
批量修改后缀.tmp改成.log
#for file in $(find . -name "*.log" -type f);do mv $file ${file%.*}.log;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
 
#!/bin/sh
while true
do
d1=/home/yunwei
d2=$(date +%Y%m%d)
d3=$(date +%H)
[ -d $d2/$d3 ] ||mkdir -p $d2/$d3 && mv -f $d1/*.fin $d2/$d3
for file in $(ls *.fin)
do
mv -f ${file} ${file%.*}
done
sleep 60
done
阅读(1582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~