Chinaunix首页 | 论坛 | 博客
  • 博客访问: 649968
  • 博文数量: 197
  • 博客积分: 4858
  • 博客等级: 上校
  • 技术积分: 2162
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-06 22:46
文章分类

全部博文(197)

文章存档

2011年(30)

2010年(21)

2009年(25)

2008年(80)

2007年(41)

分类: Python/Ruby

2011-11-11 20:13:17

 
 
 

seq
-f, --format=FORMAT      use printf style floating-point FORMAT (default: %g)
-s, --separator=STRING   use STRING to separate numbers (default: \n)
-w, --equal-width        equalize width by padding with leading zeroes
-f 选项   指定格式

#seq -f"%3g" 9 11
  9
10
11

% 后面指定数字的位数 默认是"%g",  

 "%3g"那么数字位数不足部分是空格

#sed -f"%03g" 9 11  这样的话数字位数不足部分是0
% 前面制定字符串

#seq -f "str%03g" 9 11
str009
str010
str011

-w 指定输出数字同宽   不能和-f一起用
seq -w -f"str%03g" 9 11
seq: format string may not be specified when printing equal width strings
seq -w 98 101
098
099
100
101
输出是同宽的

-s 指定分隔符  默认是回车
#seq -s" " -f"str%03g" 9 11
str009 str010 str011

要指定\t 做为分隔符号
#seq -s"`echo -e "\t"`" 9 11

指定\n\n作为分隔符号
#seq -s"`echo -e "\n\n"`" 9 11
19293949596979899910911
得到的是个错误结果
不过一般也没有这个必要  它默认的就是回车作为分隔符

几个例子
awk 'BEGIN { while (num seq 是Linux 中一個預設的外部命令,一般用作一堆數字的簡化寫法,如
seq 1 10
便會出現
1
2
3
4
5
6
7
8
9
10
它還有三個選項


-f, --format=FORMAT      use printf style floating-point FORMAT (default: %g)
  -s, --separator=STRING   use STRING to separate numbers (default: \n)
  -w, --equal-width        equalize width by padding with leading zeroes

-f 最常用 , 例如一次制做 10 個名 dir001 , dir002 .. dir010 的目錄,它便很有用途,我們可以
這樣下一個命令便可了
#seq -f 'dir%03g' 1 10 | xargs mkdir

#mkdir $(seq -f 'dir%03g' 1 10)
它用的是 printf 的格式 , %03g' 代表以三位浮點數,以此方法,如用bash3 的 printf
也可作為等價命令
#printf 'dir%03d\n' {1..10} | xargs mkdir  或 mkdir `printf 'dir%03d ' {1..10}`

 

记两条命令:

find -print |sed 's;./A001.txt; ;'|sed 's/^/rm /'|sh -x

seq -f'A%03g.txt' 1 100 |xargs rm -rf

 

sed 后边的分界符,默认为"/",可以使用其它的分界符,awk需要用-F 来指定,sed不需要指定,直接写就可以了,

阅读(1236) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~