LinuxSir.cn,穿越时空的Linuxsir!

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

求shell程序,对文件排序并从命名

[复制链接]
发表于 2006-11-5 00:07:33 | 显示全部楼层 |阅读模式
写一个shell程序,对大小不一的999个文件按文件大小进行排序。并且命名为a1~a999
发表于 2006-11-5 11:58:06 | 显示全部楼层

  1. stat -c "%s %n" /path/*|sort|while read file;do ((++n));mv ${file##* } a$n;done
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-5 22:04:48 | 显示全部楼层
谢谢,写得很好。不过后面while read file;do ((++n));mv ${file##* } a$n;done看不懂,${file##* }是什么意思啊?而且*后要加空格啊。

真的收获很大,我开始以为得写20行呢
回复 支持 反对

使用道具 举报

发表于 2006-11-6 01:08:22 | 显示全部楼层
Post by 史宝林
谢谢,写得很好。不过后面while read file;do ((++n));mv ${file##* } a$n;done看不懂,${file##* }是什么意思啊?而且*后要加空格啊。

真的收获很大,我开始以为得写20行呢

  1. /home/lee#str='a b'
  2. /home/lee#echo ${str##* }
  3. b
  4. /home/lee#echo ${str%% *}
  5. a
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-11-6 09:02:08 | 显示全部楼层
好啊好啊,真是精简阿。
回复 支持 反对

使用道具 举报

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

本版积分规则

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