免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2419 | 回复: 10
打印 上一主题 下一主题

[SCO UNIX] 挑战脑细胞!用变量对文件批量改名 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-15 11:11 |只看该作者 |倒序浏览
各位大侠:
      我每天从服务器上批量接收下来的文件都是“固定文件名+当天日期”命名的,我想批量改名为“固定文件名+改天日期“
例如:
      每天下载的文件为
       a20040101 b20040101 c20040101 ......
     需要批量更改这些文件名
      a20040202 b20040202 c20040202 .......

当天日期和改天日期都是变量,每天都不同,请问:用shell 可以实现吗?

论坛徽章:
0
2 [报告]
发表于 2004-01-15 13:23 |只看该作者

挑战脑细胞!用变量对文件批量改名

用文本SH,将20040101替换 成20040202

如下
mv a20040101 a20040101
变成
mv a20040101 a20040202

论坛徽章:
0
3 [报告]
发表于 2004-01-15 13:45 |只看该作者

挑战脑细胞!用变量对文件批量改名

在下载的文件目录中执行这个脚本:

  1. for i in `ls`;do newfile=`echo $i | sed 's/20040101/20040202/'`;mv $i $newfile;done
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-01-15 13:57 |只看该作者

挑战脑细胞!用变量对文件批量改名

没仔细看,楼主要求是用变量:
old=20040101 或old=`date +%Y%m%d`  #当天日期
new=20040202   #改天日期
然后将脚里sed那句改为:
sed 's/'$old'/'$new'/'

论坛徽章:
0
5 [报告]
发表于 2004-01-15 14:25 |只看该作者

挑战脑细胞!用变量对文件批量改名

多谢各位的关心!!
请问sed 里面可以调用变量吗?

论坛徽章:
0
6 [报告]
发表于 2004-01-15 14:28 |只看该作者

挑战脑细胞!用变量对文件批量改名

原帖由 "mr" 发表:

请问sed 里面可以调用变量吗?

sed 's/'$old'/'$new'/' 这个就是啊!

论坛徽章:
0
7 [报告]
发表于 2004-01-15 14:33 |只看该作者

挑战脑细胞!用变量对文件批量改名

我有例子,c1l2d3大侠能不能说的详细一点?(我是新手,可是老板逼的却很紧)
多谢!
$read old
$ls *$old
  a20040101
  b20040101
  c20040101

论坛徽章:
0
8 [报告]
发表于 2004-01-15 14:48 |只看该作者

挑战脑细胞!用变量对文件批量改名

给你个完整的脚本吧:


  1. echo "输入日期[回车为当天日期]:\c"
  2. read old
  3. if [ "$old" = "" ];then old=`date +%Y%m%d`;fi
  4. echo "输入改天日期:\c"
  5. read new
  6. for i in `ls *$old`;do
  7. newfile=`echo $i | sed 's/'$old'/'$new'/'`
  8. mv $i $newfile
  9. done
复制代码

试一下就知效果如何。

论坛徽章:
0
9 [报告]
发表于 2004-01-15 14:55 |只看该作者

挑战脑细胞!用变量对文件批量改名

谢谢侠士们     
      下面是我用vi 写的一个sh,请问可以实现吗?
1  echo "old="
     2  read old
     3  echo "new="
     4  read new
     5  for i in 'ls';
     6  do newfile='echo $i |sed 's/'$old'/'$new'/';
     7  mv $i $newfile;
     8  done;

论坛徽章:
0
10 [报告]
发表于 2004-01-15 15:12 |只看该作者

挑战脑细胞!用变量对文件批量改名

我写的vi z3.sh,运行完报错了
mv: target (s/$old/$new) must be a directory
Usage: mv [-fi] source_file... target_file
z3.sh: :: not found
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP