Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2109861
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

分类: Python/Ruby

2011-06-01 15:04:44

当前目录有N多个文件,需要按从小到大排序,然后改名成 1...N.
解法如下:(整理来自于论坛
 
方法一
[root@squid mkdir]# ls -lrS
total 24
-rw-r--r-- 1 root root  7 Jun  1 01:19 test1.txt
-rw-r--r-- 1 root root  8 Jun  1 01:20 test2.txt
-rw-r--r-- 1 root root  9 Jun  1 01:21 test3.txt
-rw-r--r-- 1 root root 10 Jun  1 01:21 test4.txt
-rw-r--r-- 1 root root 11 Jun  1 01:21 test5.txt
-rw-r--r-- 1 root root 12 Jun  1 01:22 test6.txt
 
[root@squid mkdir]# ls -lrS|grep -v total|awk 'i+=1{print "mv " $NF" " i}'|sh
[root@squid mkdir]# ll
total 24
-rw-r--r-- 1 root root  7 Jun  1 01:19 1
-rw-r--r-- 1 root root  8 Jun  1 01:20 2
-rw-r--r-- 1 root root  9 Jun  1 01:21 3
-rw-r--r-- 1 root root 10 Jun  1 01:21 4
-rw-r--r-- 1 root root 11 Jun  1 01:21 5
-rw-r--r-- 1 root root 12 Jun  1 01:22 6
 
方法二:
 
[root@squid mkdir]# ls -Sr | { i=1;while read f;do mv -f "$f" $i;let i++;done;}
[root@squid mkdir]# ls -Srl
total 24
-rw-r--r-- 1 root root  7 Jun  1 01:27 1
-rw-r--r-- 1 root root  8 Jun  1 01:27 2
-rw-r--r-- 1 root root  9 Jun  1 01:27 3
-rw-r--r-- 1 root root 10 Jun  1 01:27 4
-rw-r--r-- 1 root root 11 Jun  1 01:27 5
-rw-r--r-- 1 root root 12 Jun  1 01:27 6
 
方法三:
[root@squid mkdir]# ls -lSr|sed 1d|awk '{print "mv "$NF,NR}'|sh
 
方法四:(考虑文件名中包含空格的处理
[root@squid mkdir]# ls -lSr *.* |awk '{printf "mv \""; for(i=9;i
 
方法五:
 
[root@squid mkdir]# ls -l | sort -n -k5|awk '{system("mv "$9" "NR-1"")}'|sh
 
方法六:(最精简)
 
[root@squid mkdir]# ls -Sr|awk '{system("mv "$0" "NR)}'
 
 
阅读(12489) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~