注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

【转载】shell seq详解  

2013-07-24 09:45:01|  分类: linux命令详解 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自herb《shell seq详解》

Linux 中seq 命令的用法
用于产生从某个数到另外一个数之间的所有整数
用法:seq [选项]... 尾数
 或:seq [选项]... 首数 尾数
 或:seq [选项]... 首数 增量 尾数
以指定增量从首数开始打印数字到尾数。


  -f, --format=格式 使用printf 样式的浮点格式
  -s, --separator=字符串使用指定字符串分隔数字(默认使用:\n)
  -w, --equal-width 在列前添加0 使得宽度相同
      --help 显示此帮助信息并退出
      --version 显示版本信息并退出

‐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

从1循环到100的两种方法(bash )
for x in `seq 1 100`;do echo $x;done
for x in {1..100};do echo $x;done

‐f 选项 指定格式
#seq ‐f"%3g" 9 11
9
10
11
% 后面指定数字的位数 默认是"%g",
"%3g"那么数字位数不足部分是空格
#sed ‐f"%03g" 9 11 这样的话数字位数不足部分是0
% 前面制定字符串
seq ‐f "str%03g" 9 10
str009
str010
‐w 指定输出数字同宽,不能和‐f 一起用
seq ‐w ‐f"str%03g" 9 11
seq: format string may not be specified when printing equal width strings
seq ‐w 98 100
098
099
100
输出是同宽的
‐s 指定分隔符 默认是回车
seq ‐s" " ‐f"str%03g" 9 11
str009 str010 str011
要指定\t 做为分隔符号
seq ‐s"`echo ‐e "\t"`" 9 11
如用\n\n, 以兩個空格 , 便得寫成
seq ‐s '
>
> ' 1 3
1
2
3
几个例子
seq ‐f 'dir%03g' 1 10 | xargs mkdir
mkdir $(seq ‐f 'dir%03g' 1 10)
printf 'dir%03d\n' {1..10} | xargs mkdir
mkdir `printf 'dir%03d ' {1..10}`
awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
for i in `seq ‐f '%02g' 1 20`
do
if ! wget ‐P $HOME/tmp ‐c [img]http://www.xxxsite.com/photo/$i.jpg[/img] ; then
wget ‐P $HOME/tmp ‐c $_
fi
done
$ aNumList=$(seq 10);
$ echo $aNumList
1 2 3 4 5 6 7 8 9 10
aNumList 得到是字符串,不同之处以:空格分隔开。在linux 里面,可以把它看
作是list. 可以通过for…in 循环读取。
$ for i in $aNumList;do echo $i;done;
如果需要生成array 只需要将$(seq 10) 再加个”()”即可。
$ aNumList=($(seq 10));
$ echo $aNumList
1
$ echo ${#aNumList[@]}
10
长度是100 的数组。
echo {1..10}
1 2 3 4 5 6 7 8 9 10
for a in {1..10};do echo $a;done
#!/bin/bash
for i in `seq 1 10`或用for i in $(seq 1 10)
do
echo $i
done

  评论这张
 
阅读(289)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018