【shell】shuf命令提取文件的随机行

shuf命令可以随机提取一个文本文件的不同行,输出到文件或者标准输出中。

shuf

用法: shuf [选项]... [文件]
 或者:  shuf -e [选项]... [参数]...
 或者:  shuf -i LO-HI [选项]...
Write a random permutation of the input lines to standard output.

如果没有指定文件,或者文件为"-",则从标准输入读取。

必选参数对长短选项同时适用。
  -e, --echo                treat each ARG as an input line
  -i, --input-range=LO-HI   treat each number LO through HI as an input line
  -n, --head-count=COUNT    output at most COUNT lines
  -o, --output=FILE         write result to FILE instead of standard output
      --random-source=FILE  get random bytes from FILE
  -r, --repeat              output lines can be repeated
  -z, --zero-terminated     line delimiter is NUL, not newline
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

例如:提取一个input.txt中的随机20行

shuf input.txt -n 20 -o output.txt

原文地址:https://www.cnblogs.com/muuyouzhi/p/9512294.html

时间: 2024-07-30 07:42:38

【shell】shuf命令提取文件的随机行的相关文章

Linux shell ftp命令下载文件 根据文件日期

需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

使用sed命令匹配文件指定的行删除

[email protected]123-57-87-170 ~ # cat file #aaabbbcccddd #aaabbbcccddd #aaabbbcccddd #cccdddaaawwee #cccdddaaawwee #cccdddaaawwee #cccdddaaawwee [email protected]-123-57-87-170 ~ # sed -i '/aaabbbcccddd/ s/#//g' file [email protected]-123-57-87-170

【shell】shuf命令,随机排序

shuf命令主要用来对输入的每一行进行随机排序输出,我们可以利用这个属性,实现在几个文件中随机读取一个的功能 如下,zls.txt文件有三行,我们想要随机从中读取一行. 可以看到,每次读取顺序都不一样 所以,我们可以根据这个属性,实现每次随机读取一行

shell解析命令行的过程以及eval命令

本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e "some files:" ~/i* "\nThe date:$(date +%F)\n$name's age is $((a+4))" >/tmp/a.log 假设在执行该命令前,已赋值变量"name=longshuai"和"a=

awk: 随机替换(使用文件中的行随机替换另一文件中的列)

#!/bin/awk -f #Function:指定使用文件中随机数量的行(手动传参ipl和idl)随机替换指定列(脚本中指定):使用指定位数的随机浮点替换指定列(脚本中指定). #Usage:./t.awk -v ip=<ip file> -v id=<id file> -v ipl=<n> -v idl=<n> log.txt #Date: 20140922 20:16 BEGIN {     srand()     #读取预用的ip列表     whi

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令 http://www.cnblogs.com/ZHF/p/3328439.html WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript.shell是服务器系统会用到的一种组件.shell 就是“壳”的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序.读写注

shell脚本从文件夹中递归提取文件

需求 前两天碰到需要在十层左右的文件夹中提取文件的需求,于是写了此脚本. 如下面这样的文件结构: dir1 ├── a │ ├── b │ │ └── file1 │ └── file2 ├── c │ └── d │ ├── e │ │ └── file4 │ └── file3 └── file5 我们需要将其中的file1~file5提取出来放到另一个文件夹中. 脚本 脚本getfilefromdir.sh如下: #!/bin/bash #desc: get file from direc

shell提取文件后缀名,并判断其是否为特定字符串

如果文件是 .css文件 或 .js文件,则进行处理. file=$1 if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "js"x ];then do something fi 注意: 1> 提取文件后缀名: ${file##*.} ##是贪婪操作符,从左至右匹配,匹配到最右边的.号,移除包含.号的左边内容. 这里可以参考 http://www.1987.name/2

第十一章 Shell常用命令与工具(一)

本章节学习一些在编写Shell时的常用命令或工具及使用技巧.有人说Shell脚本是命令堆积的一个文件,按顺序去执行.还有人说想学好Shell脚本,要把Linux上各种常见的命令或工具掌握了,这些说法都没错.由于Shell语言本身在语法结构上比较简单,是面向过程编程,想实现复杂的功能有点强人所难!而且Shell本身又工作在Linux内核之上,在用户态调用Linux命令会很方面,所以大多数情况下我们都是依靠这些命令来完成脚本中的某些功能,比如文本处理.获取系统状态等等,然后通过Shell语法结构组织