2013-07-05 17:54:34 hybaym 阅读数 547
  • 深度学习项目实战-Seq2Seq序列生模型

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程首先讲解Seq2Seq原理以及应用,从机器翻译入手讲解Seq2Seq模型发展以及现阶段的应用。基于Tensorflow演示如何应用seq2seq网络进行实际任务的建模与分析。

    3424 人正在学习 去看看 唐宇迪

用于产生从某个数到另外一个数之间的所有整数
  例一:
  # 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

2019-02-06 23:35:00 xktxoo 阅读数 84
  • 深度学习项目实战-Seq2Seq序列生模型

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程首先讲解Seq2Seq原理以及应用,从机器翻译入手讲解Seq2Seq模型发展以及现阶段的应用。基于Tensorflow演示如何应用seq2seq网络进行实际任务的建模与分析。

    3424 人正在学习 去看看 唐宇迪

seq是linux中的一个预设外部命令,一般用作一堆数字的简化写法,可以用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、步长、分隔符等进行控制

一、常规用法

seq 语法

seq [-w] [-f format] [-s string] [-t string] [first [incr]] last

【常规用法】:

  • seq last,指定尾数
  • seq fisrt last,指定首数、尾数
  • seq first incr last,指定首数、步长、尾数

示例:

MacBook-Pro-5:~ jerry$ seq 3
1
2
3
MacBook-Pro-5:~ jerry$ seq 2 3
2
3
MacBook-Pro-5:~ jerry$ seq 1 2 3
1
3

【指定分隔符】:

  • seq -s[separator] [first [incr]] last
  • seq -s “separator” [first [incr]] last

示例

MacBook-Pro-5:~ jerry$ seq -s, 1 3
1,2,3,MacBook-Pro-5:~ jerry$ seq -s "--\n" 1 3
1--
2--
3--

没有通过-s指定分隔符时,默认使用换行作为分隔符

【指定输出格式】:

  • seq -f [first [incr]] last
    • g/G 原格式显示
    • f/F 以浮点数值显示
    • e/E 以科学计数的样式显示
    • a/A 以十六进制8及左右位数偏移量的样式显示

g、f、e、a表示输出格式类型

示例

MacBook-Pro-5:~ jerry$ seq -f "%03g" 1 3
001
002
003
MacBook-Pro-5:~ jerry$ seq -f "%01g" 111 113
111
112
113

-f指定格式,%后数字表示数字位数,%3g表示指定3位数,不足3位的数,前面有空格,%03g表示后面有3位数,如果位数不够则用0补齐,但位数超过指定位数时不做截断处理。

【指定相同宽度】:

  • seq -w [first [incr]] last

示例

MacBook-Pro-5:~ jerry$ seq -w 9 11
09
10
11

按相同宽度输出数字,位数不足用0补齐,-w不能和-f一起使用

二、特殊用法

  • 2.1 生成倒序序列
MacBook-Pro-5:~ jerry$ seq 3 -1 1
3
2
1
  • 2.2 生成多个文件/文件夹
MacBook-Pro-5:~ jerry$ touch $(seq -f "%03g.txt" 1 3)
MacBook-Pro-5:~ jerry$ mkdir $(seq -f "%03g.txt" 1 3)
2017-04-20 15:03:27 Adrian503 阅读数 257
  • 深度学习项目实战-Seq2Seq序列生模型

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程首先讲解Seq2Seq原理以及应用,从机器翻译入手讲解Seq2Seq模型发展以及现阶段的应用。基于Tensorflow演示如何应用seq2seq网络进行实际任务的建模与分析。

    3424 人正在学习 去看看 唐宇迪

seq 的几种用法

1. seq  1   10

结果是1 2 3 4 5 6 7 8 9 10  ,注意 ` ` 为命令置换符号,在键盘 Esc 的下方 ,含义是:引用其命令的结果。显示效果如下:

2. seq 1 2 10

结果是1 3 5 7 9   ,其中 2 可理解为步长。


3. seq 10 

 注意:从1 开始


4. seq 在for 循环中的应用

#!/bin/bash
for i in `seq 1 10`;
do
  echo $i
done

或者:for i in $(seq 1 10)

5. 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 "str%03g" 9 11
str009
str010
str011
-w 指定输出数字同宽   不能和-f一起用

2019-09-06 19:40:19 dengjin20104042056 阅读数 334
  • 深度学习项目实战-Seq2Seq序列生模型

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程首先讲解Seq2Seq原理以及应用,从机器翻译入手讲解Seq2Seq模型发展以及现阶段的应用。基于Tensorflow演示如何应用seq2seq网络进行实际任务的建模与分析。

    3424 人正在学习 去看看 唐宇迪

00. 目录

01. 命令概述

seq命令用于产生整数序列。

02. 命令格式

用法:
	seq [选项]... 尾数
	seq [选项]... 首数 尾数
	seq [选项]... 首数 增量 尾数

03. 常用选项

以指定增量从首数开始打印数字到尾数。

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

04. 参考示例

4.1 输出1-5

[deng@localhost ~]$ seq 5 
1
2
3
4
5
[deng@localhost ~]$ 

4.2 输出1-5

[deng@localhost ~]$ seq 1 5
1
2
3
4
5
[deng@localhost ~]$ 

4.3 输出3-5

[deng@localhost ~]$ seq 3 5 
3
4
5
[deng@localhost ~]$ 

4.4 输出1 4 7 10

[deng@localhost ~]$ seq 1 3 10
1
4
7
10
[deng@localhost ~]$ 

4.5 指定格式输出

[deng@localhost ~]$ seq -f "%3g" 9 11
  9
 10
 11
[deng@localhost ~]$ 

意思是-f指定格式,%后面指定3位数,默认是%g,%3g不够位数的地方都是空格填补

4.6 指定格式输出

[deng@localhost ~]$ seq -f "%03g" 9 11
009
010
011
[deng@localhost ~]$ 

意思是打印三位,不足的地方用0填补

4.7 指定格式输出

[deng@localhost ~]$ seq -f "str%03g" 9 11
str009
str010
str011
[deng@localhost ~]$ 

意思是打印三位不足的地方以0填补,在前面加上str

4.8 在列前添加0使得宽度相同

[deng@localhost ~]$ seq -w 9 11
09
10
11
[deng@localhost ~]$ 

当输出等宽字符串时不应再指定格式字符串,-w与-f不能一起用

4.9 使用指定字符串分隔数字

[deng@localhost ~]$ seq -s " " -f "str%03g" 9 11
str009 str010 str011
[deng@localhost ~]$ 

4.10 使用tab键分隔数字

[deng@localhost ~]$ seq -s "`echo -e '\t'`" 9 11
9       10      11
[deng@localhost ~]$ 

先用命令做成一个tab,然后再指定成分隔符

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

2013-06-13 15:16:04 fanshadoop 阅读数 1269
  • 深度学习项目实战-Seq2Seq序列生模型

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程首先讲解Seq2Seq原理以及应用,从机器翻译入手讲解Seq2Seq模型发展以及现阶段的应用。基于Tensorflow演示如何应用seq2seq网络进行实际任务的建模与分析。

    3424 人正在学习 去看看 唐宇迪

seq命令的作用就是打印出一串有序的数字,它主要有以下3个参数构成:

       -f, --format=FORMAT use printf style floating-point FORMAT (default: %g)
              

-f 指定打印的格式:
例如:
seq -f %05g 2 7 
    00002
    00003
    00004
    00005
    00006
    00007

       -s, --separator=STRING use STRING to separate numbers (default: \n)              
-s 指定分隔符 默认是回车:
例如:
seq -s" " 2 7
2 3 4 5 6 7

       -w, --equal-width      equalize width by padding with leading zeroes
     -w 可以指定step
例如: seq -w 0 2  23【其中2为step,0为起始值】
seq -w 0 2 11
00
02
04
06
08
10
12
14
16
18
20
22

Linux命令之 - seq

阅读数 216

linux中seq命令用法

阅读数 1256

seq命令常用方法

阅读数 718

Linux seq命令详解

阅读数 352

没有更多推荐了,返回首页