Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7610520
  • 博文数量: 368
  • 博客积分: 9600
  • 博客等级: 上校
  • 技术积分: 18875
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-01 00:00
文章分类

全部博文(368)

文章存档

2017年(9)

2016年(19)

2015年(3)

2014年(6)

2013年(8)

2012年(78)

2011年(66)

2010年(135)

2009年(44)

分类: LINUX

2010-04-23 14:55:27

Seq命令的用法

用于产生从某个数到另外一个数之间的所有整数

例一:

# seq 1 10

结果是1 2 3 4 5 6 7 8 9 10

例二:

#!/bin/bash

for i in `seq 1 10`;

do

echo $i;

done

或者用

for i in $(seq 1 10)

也可以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 < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir

mkdir $(seq -f 'dir%03g' 1 10)

 

for i in `seq -f '%02g' 1 20`

do

if ! wget -P $HOME/tmp -c ; then

wget -P $HOME/tmp -c $_

fi

done

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