生成数字序列命令(7)

生成数字序列命令:seq,shuf

7.1.seq

功能:打印数字序列

语法:seq [OPTION]... LAST

seq [OPTION]... FIRST LAST

seq [OPTION]... FIRST INCREMENT LAST

常用选项:

-f  使用printf样式格式

-s  指定分隔符,默认换行符\n

-w  等宽,用0填充

示例:

数字序列:

方法1:
[[email protected] ~]# seq 10
1
2
3
4
5
6
7
8
9
10
方法2:
for循环
#!/bin/bash
for i in `seq 1 10`;
do
echo $i;
done
或者用
for i in $(seq 1 10)
方法3:
通过指定步长,所谓步长就是一步之长
[[email protected] ~]# seq 1 5 20  #这里的步长就是5
1
6
11
16
方法4:
[[email protected] ~]# seq 20 30  #指定范围
20
21
22
23
24
25
26
27
28
29
30

-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一起使用
[[email protected] ~]# seq -w -f"str%03g" 9 11
seq: format string may not be specified when printing equal width strings
Try `seq --help‘ for more information.
[[email protected] ~]# seq -w 1 20 #数字前面带0
01
...............
20

-s选项:

[[email protected] ~]# seq -s" " -f"str%03g" 9 11  #空格分隔
str009 str010 str011
[[email protected] ~]# seq -s"+" 1 10   #+号分隔
1+2+3+4+5+6+7+8+9+10
[[email protected] ~]# seq -s"\t" 1 10   #有正则的这样写虽然打印了,但是违背了题意
1\t2\t3\t4\t5\t6\t7\t8\t9\t10
[[email protected] ~]# seq -s "$(echo -e "\t")" 1 10  #这样写才会达到效果。制表符为分隔打印
1       2       3       4       5       6       7       8       9       10
[[email protected] ~]# seq -s "$(echo -e "\n")" 1 10
12345678910
[[email protected] ~]# seq -s "$(echo -e "\n\n")" 1 10  #两个效果一样
12345678910
12345678910

批量创建文件:

方法1:

[[email protected] ~]# awk ‘BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}‘ | xargs mkdir  #使用awk来获取文本
[[email protected] ~]# ls
anaconda-ks.cfg  dir003  dir006  dir009       install.log.syslog
dir001           dir004  dir007  dir010       system.sh
dir002           dir005  dir008  install.log

方法2:

[[email protected] ~]# mkdir $(seq -f ‘dir%03g‘ 1 10)

方法3:

for i in `seq -f ‘%02g‘ 1 20`doif ! wget -P $HOME/tmp -c [img]http://www.xxxsite.com/photo/$i.jpg[/img] ; thenwget -P $HOME/tmp -c $_fidone

方法4:

[[email protected] ~]$ seq -s ‘
>
> ‘ 1 5
1
 
2
 
3
 
4
 
5

7.2.shuf

功能:生成随机序列

常用选项:

-i  输出数字范围

-o  结果写入文件

示例:

输出范围随机数:

[[email protected] ~]# seq 10
1
2
3
4
5
6
7
8
9
10
[[email protected] ~]# seq 10|shuf
3
7
4
6
8
9
5
10
2
[[email protected] ~]# shuf -i 1-10
10
5
2
7
9
8
4
1
6
3
时间: 2024-10-12 20:50:29

生成数字序列命令(7)的相关文章

Matlab生成M序列的伪随机码

伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长.线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中.随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]. 图3.5 线性反馈移位寄存器 MATLAB生成M序列

求一组数字序列的分布情况(java)

最近需要做一个正态分布的函数图像所以要处理一段double序列 写了这个算法  先上效果图: 核心思想: 1先根据步长计算每一个区间 2循环进行判断序列中每个数属于哪个区间 3用一个数组来保存每一个区间中 数的个数 这样就可以得到整个分布函数了 当然效率值得考虑 我的机器1百万以上的数据就会有问题了 这是一个double类型的例子 int型就更容易啦 上代码! 1 package com.huang.distribution; 2 3 import java.math.BigDecimal; 4

关于随机数列,对给定数目的自0开始步长为1的数字序列进行乱序。(可用作洗牌)

1 /** 2  * 数组乱序类 3  * @author noam  4  */ 5 public class NRandom { 6  7     /** 8      * 对给定数目的自0开始步长为1的数字序列进行乱序 9      * @param no 给定数目10      * @return 乱序后的数组11      */12     public static int[] getSequence(int no) {13         int[] sequence = new 

Pytorch基础——使用 RNN 生成简单序列

一.介绍 内容 使用 RNN 进行序列预测 今天我们就从一个基本的使用 RNN 生成简单序列的例子中,来窥探神经网络生成符号序列的秘密. 我们首先让神经网络模型学习形如 0^n 1^n 形式的上下文无关语法.然后再让模型尝试去生成这样的字符串.在流程中将演示 RNN 及 LSTM 相关函数的使用方法. 实验知识点 什么是上下文无关文法 使用 RNN 或 LSTM 模型生成简单序列的方法 探究 RNN 记忆功能的内部原理 二.什么是上下文无关语法 上下文无关语法 首先让我们观察以下序列: 01 0

随机生成数字验证码

protected void Page_Load(object sender, EventArgs e) { // 生成验证码 string checkCode = RandLetter(4); // 把新的验证码保存到Session中 Session["CheckCode"] = checkCode; // 输入验证码 CreateImages(checkCode); } /// <summary> /// 生成验证图片 /// </summary> ///

BZOJ 1049 数字序列(LIS)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1049 题意:给出一个数列A,要求:(1)修改最少的数字使得数列严格递增:(2)在(1)的基础上使得修改的绝对值之和最小. 思路:对于第一问看起来像是求最长上升子 列,其实不是.我们想,若对于i<j,j能由i转移过来,那么需满足A[j]-A[i]>=j-i才行,这样我们发现只要A[j]-j& gt;=A[i]-i即可.因此令A[i]=A[i]-i,这样求LIS即可.对于第二问,

笔试算法题(34):从数字序列中寻找仅出现一次的数字 &amp; 最大公约数(GCD)问题

出题:给定一个数字序列,其中每个数字最多出现两次,只有一个数字仅出现了一次,如何快速找出其中仅出现了一次的数字: 分析: 由于知道一个数字异或操作它本身(X^X=0)都为0,而任何数字异或操作0都为它本身,所以当所有的数字序列都异或操作之后,所有出现两次的数字异或操作之后的结果都为0,则最后剩下的结果就是那个仅出现了一次的数字: 如果有多个数字都仅仅出现了一次,则上述的异或操作方法不再适用:如果确定只有两个数字只出现了一次,则可以利用X+Y=a和XY=b求解: 解题: 1 int findSin

扩增子分析解读4去嵌合体 非细菌序列 生成代表性序列和OTU表

本节课程,需要先完成 扩增子分析解读1质控 实验设计 双端序列合并 2提取barcode 质控及样品拆分 切除扩增引物 3格式转换 去冗余 聚类 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们制作了Usearch要求格式的Fasta文件,对所有序列进行去冗余和低丰度过滤,并聚类生成了OTU. 接下来我们对OTU进一步去除嵌合体,并生成代表性序列和OTU表. 什么是chimeras(嵌合体)? 嵌合体序列由来自两条或

2016.6.3类型强制转换,连接,生成数字表,子查询

--日期问题select *from orders where OrderDate > '20030525'--字符串表示日期 --cast  强制转换select *from orders where OrderDate >cast( '20030525' as datetime) --datepart 取日期中的一部分select getdate()--计算机当前的时间 select getdate(),    datepart(year,getdate()),    datepart(m