LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 851|回复: 5

不好意思,求助一下一个shell的脚本

[复制链接]
发表于 2007-8-2 16:44:06 | 显示全部楼层 |阅读模式
在下新来的 知道论坛规矩 上来就这么问不好 但是实在很急 想请各位很牛的兄弟帮帮忙
用shell编辑一个脚本 完成如下功能:
对一个文件夹下面的所有文件,对于有.dat结尾的,不变,对于没有.dat结尾的,加一个.dat结尾
我不懂这个 速成又很难 只好先求助有朋友帮我做出来 然后我研究具体是怎么回事 实在万分感谢
发表于 2007-8-2 17:57:48 | 显示全部楼层
我也是菜鸟,试试这个。
  1. file_set=`ls --ignore=*.dat`  #只处理dat以外的文件
  2. for one_file in $file_set
  3. do
  4.     mv $one_file $onefile.dat   #加上后缀
  5. done
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-8-2 20:15:10 | 显示全部楼层
我也是菜鸟,当做练习吧

#!/bin/sh

for FILE in `ls | grep -v *.dat`; do
mv $FILE $FILE.dat
done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-2 21:58:54 | 显示全部楼层
哪个好些呢?
回复 支持 反对

使用道具 举报

发表于 2007-8-2 22:54:09 | 显示全部楼层
不用shell啊,直接用rename就可以了,我正则表达式不是很熟,写两句话吧:

rename 's/$/.dat/' *
rename 's/.dat.dat$/.dat/' *

可能可以用bash把*改一下,一句话就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-3 07:02:49 | 显示全部楼层
这个....
算是个作业题吧
要求是用shell的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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