转载!

用于产生从某个数到另外一个数之间的所有整数
例一:
# 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 [img]http://www.xxxsite.com/photo/$i.jpg[/img] ; then
wget -P $HOME/tmp -c $_
fi
done
 
 
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}`
awk 當然也可以
awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
這樣會比寫一個腳本快, 不必寫成
for dir in 001 002 003 004 005 006 007 008 009 010
do
mkdir dir${dir}
done
我也常用seq 下載用數字的jpeg , 只要格式有數字順序便可,尤以一些xxx site
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
 
-s 選項主要改變輸出的分格符, 預設是\n , 就是newline
如用-s 便可改變, 如
seq -s ' ' 1 10
1 2 3 4 5 6 7 8 9 10  , 以空格作為分格, 但在Gnu 的seq , 好像
不支援\n ,\t ...等字符? 如用\n\n, 以兩個空格, 便得寫成
[victor@localhost ~]$ seq -s '

> ' 1 5
1
 
2
 
3
 
4
 
5
\t 便得改變IFS, 如用\t\t
OIFS=$IFS
IFS="\t\t"
seq -s `echo -e $IFS` 1 5
IFS=$OIFS
其它的字符也是這樣吧?
 
 
seq命令的作用就是打印出一串有序的数字,它主要有以下3个参数构成:
 
       -f, --format=FORMAT
use printf style floating-point FORMAT (default: %g)
-f 指定打印的格式:
例如:
[root@hao32]# seq -f %05g 2 7
00002
00003
00004
00005
00006
00007
 
       -s, --separator=STRING
use STRING to separate numbers (default: \n)
-s 指定分隔符 默认是回车:
例如:
[root@hao32]# seq -s" " 2 7
2 3 4 5 6 7
 
       -w, --equal-width
equalize width by padding with leading zeroes
-w 输出是同宽 前面不足的用"0" 补全,即与位数最多的数对齐
例如:
[root@hao32]# seq -w 2 11
02
03
04
05
06
07
08
09
10
11

kashu@ubuntu:/tmp$ seq 4 -1 1
4
3
2
1

以5为递增步长
kashu@ubuntu:~$ seq 0 5 10
0
5
10

seq使用的更多相关文章

  1. BZOJ1798: [Ahoi2009]Seq 维护序列seq[线段树]

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 5504  Solved: 1937[Submit ...

  2. Linux 设备驱动程序 proc seq

    不能再简化 #include<linux/module.h> #include<linux/init.h> #include<linux/seq_file.h> # ...

  3. seq

    Linux 中seq 命令的用法 用于产生从某个数到另外一个数之间的所有整数 用法: seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 ...

  4. 20 seq 某个数到另外一个数之间的所有整数

    seq命令Shell内建命令 seq命令用于产生从某个数到另外一个数之间的所有整数. 语法 : seq [选项]... 尾数 seq [选项]... 首数 尾数 seq [选项]... 首数 增量 尾 ...

  5. 【双标记线段树】bzoj1798维护序列seq

    一.题目 描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,-,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列 ...

  6. seq 显示00 01的格式

    for i in `seq -w 00 20` ; do echo $i ;done 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ...

  7. RNA seq 两种计算基因表达量方法

    两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...

  8. Linux常用命令之seq

    标题:seq命令的使用 作用:seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1] seq [选项] ...

  9. CDOJ 1157 数列(seq) 分块+线段树

    数列(seq) Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1157 Desc ...

  10. Python标准库:内置函数reversed(seq)

    本函数是返回序列seq的反向訪问的迭代子. 样例: #reversed() for i in reversed([2, 3, 4, 5]): print(i, end = ',') 结果输出例如以下: ...

随机推荐

  1. [LeetCode] 213. 打家劫舍 II

    题目链接:https://leetcode-cn.com/problems/house-robber-ii/ 题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有 ...

  2. Maven clean install 跳过单元测试

    1.使用MVN命令 mvn clean install -DskipTests 或者 mvn clean install -Dmaven.test.skip=true 2.Eclipse中设置clea ...

  3. RabbitMQ事务和Confirm发送方消息确认

    RabbitMQ事务和Confirm发送方消息确认——深入解读 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器 ...

  4. es6 generator函数的异步编程

    es6 generator函数,我们都知道asycn和await是generator函数的语法糖,那么genertaor怎么样才能实现asycn和await的功能呢? 1.thunk函数    将函数 ...

  5. linux 启动和关闭 MySQL

    建议使用 mysqld_safe 命令启动,因为该命令添加了安全特性,当服务器发生错误时自动重启并且 把运行信息记录错误发送到日志文件!命令格式如下: mysqld_safe options 命令的常 ...

  6. Linux学习--第四天--find、locate、帮助命令、grep、who、w、压缩命令、网络命令、mount

    find 命令格式:find 搜索范围 匹配条件find 搜索范围 匹配条件(搜索范围一定要填写,不写默认为当前文件夹,不包括子文件夹.) find /etc -name init #搜索文件和文件夹 ...

  7. 内置json&pickle&shelve&xml

    序列化:把对象(变量)从内存中变成可存储可传输的过程称之为序列化,Python中叫做pickling,其他语言中也被称之为serialization,marshalling,flattening等等 ...

  8. 算法竞赛进阶指南 0x00 基本算法

    放在原来这个地方不太方便,影响阅读体验.为了读者能更好的刷题,另起一篇随笔. 0x00 基本算法 0x01 位运算 [题目][64位整数乘法] 知识点:快速幂思想的灵活运用 [题目][最短Hamilt ...

  9. DevExpress v18.2版本亮点——Analytics Dashboard篇(二)

    行业领先的.NET界面控件——DevExpress v18.2版本亮点详解,本文将介绍了DevExpress Analytics Dashboard v18.2 的版本亮点,新版30天免费试用!点击下 ...

  10. 【LuoguP3348】[ZJOI2016]大森林

    题目链接 题目描述 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y ...