`
cloudmail
  • 浏览: 271873 次
  • 来自: 广州
社区版块
存档分类
最新评论

通过awk在Linux下打乱文件内容的顺序

 
阅读更多
假设一个文件是已经排好序的,现随机抽取里面的部分。为了达到随机性,需要对文件打乱顺序后再抽取

[root@localhost tmp]# for i in {1..10}; do echo "$RANDOM $RANDOM $RANDOM"; done | sort -n > t
[root@localhost tmp]# cat t
129 32444 4962
149 19841 3307
2327 21849 3066
4138 28425 21201
5076 20742 2021
11646 4268 18112
16553 16363 6218
21182 8495 26533
24534 8485 24987
29942 1816 4658
[root@localhost tmp]# awk 'BEGIN{10000*srand();} {printf "%s %s\n", rand(), $0}' t | sort -k1n | awk '{gsub($1FS,""); print $0}'
11646 4268 18112
4138 28425 21201
5076 20742 2021
21182 8495 26533
129 32444 4962
149 19841 3307
2327 21849 3066
24534 8485 24987
16553 16363 6218
29942 1816 4658
[root@localhost tmp]# 


几个备忘点:
1,for i in {1..10}; 数字循环
2,$RANDOM shell内置获取随机数
3,srand(); rand()在awk内获取随机数
4,gsub替换文本
分享到:
评论

相关推荐

    巧用AWK处理二进制数据文件

    AWK是Unix、Linux中处理文本的好工具,可以对复杂的文本文件进行整理,提取其中的全部或者部分数据,按照需要的格式予以显示。但是,AWK的强大功能只针对纯文本文件,对于带有很多不可显示字符的二进制数据文件,单...

    Linux实战awk详解

    通过阅读这些资料,你可以系统地学习awk,提升在Linux环境下处理文本数据的能力。 总之,Linux实战awk详解是一个宝藏资源,无论你是初学者还是有经验的用户,都能从中受益。掌握awk能让你在面对复杂文本处理任务时...

    linuxawk将多个文件结果列合并到一个文件整理.pdf

    在 Linux 环境下,使用 awk 工具可以将多个文件的结果列合并到一个文件中。这篇文章将介绍如何使用 awk 实现该功能,并提供了一个示例 awk 脚本来合并多个文件的结果列。 在 NS 模拟结果中,经常需要对多组参数的...

    LINUX下awk命令详解

    ### Linux 下 awk 命令详解 #### 一、引言 `awk` 是一个功能强大的文本处理工具,在 Unix 和类 Unix 操作系统(如 Linux)中被广泛使用。它不仅可以进行模式匹配,还能执行复杂的文本处理任务。本文将详细介绍 `awk...

    linux目录下的awk讲解

    通过以上讨论,我们可以看出awk在Linux环境中处理文本的强大能力。无论是数据分析、日志分析还是简单的文本处理任务,awk都能提供高效的解决方案。熟悉并掌握awk的用法,无疑会提升你在Linux系统管理及脚本编程中的...

    linux环境下awk开发

    ### Linux环境下AWK开发详解 #### 一、AWK简介 AWK是一种强大的文本处理工具,广泛应用于Linux和Unix环境中。对于那些熟悉UNIX系统的人来说,AWK可能不如其他一些工具那样为人熟知,但它的重要性不容忽视。AWK的...

    Linux_awk命令详解

    1) 直接在命令行中使用awk,通过指定选项、awk脚本和输入文件。例如,`awk [option] 'awk_script' input_file`,选项如 `-F fs` 设定字段分隔符,`-f filename` 从文件中读取awk脚本,`-v var=value` 设置变量。 2) ...

    awk实用程序源码.zip_awk源码_linux_linux awk 源码_makefile_实用程序

    Linux下的`awk`与其他平台上的版本可能有所不同,因此学习`linux_awk`源码有助于了解这些差异。比如,它可能包含了与Linux系统接口的特定实现,或者优化了在Linux环境中的性能。 总的来说,这个压缩包提供了一个...

    linux_awk 学习手册

    2. `-f` 选项调用:将 awk 程序编写到一个文件中,通过 `-f` 选项指定该文件,让 awk 解释器执行,适用于较长的程序。 3. 命令解释器调用:在文本文件的第一行加上 `#!/usr/bin/awk -f` 来声明这是一个 awk 程序,...

    用awk数组处理两个文件

    在Shell脚本编程中,`awk`是一种强大的文本分析工具,尤其在处理文件时非常有用。...通过构建适当的数组结构和条件判断,我们可以解决多种文件处理问题,尤其在需要关联多个文件数据的情况下,`awk`数组显得尤为重要。

    linux awk 命令大全

    3. 将`awk`脚本保存在单独的文件中,然后通过`awk -f awk_script_file input_file(s)`调用。 `awk`脚本的结构通常包括`BEGIN`、`awk_pattern { actions }`和`END`块。`BEGIN`块在处理输入之前执行,`END`块在处理完...

    linux-awklinux-awk

    ### Linux Awk 学习指南 #### 1. Awk 简介 Awk 是一种专门设计用于处理文本和数据的编程语言,主要用于 Linux/Unix 操作系统中。...掌握这些知识可以帮助您更好地在 Linux/Unix 环境下使用 Awk 处理文本和数据。

    linux-shell脚本命令:awk命令简介

    Linux系统中的awk命令是一个功能强大的文本处理工具,它可以对输入(通常是文件)进行模式扫描和处理。awk命令常用于在Linux shell脚本中进行数据提取、文本转换、数据报告生成等操作。本文将对awk命令的基本知识...

    linux中shell脚本中awk的深入分析

    awk 在 Linux 中的深入分析 awk 是一款功能强大且灵活的文本处理工具,在 Linux 系统中广泛应用于数据处理、文本处理和报表生成等领域。本文档将深入分析 awk 的使用和实现机制,探讨 awk 的内置变量、指令和函数,...

    linux awk详解awk详解awk详解awk详解

    gawk 是 GNU 计划下所做的 awk,gawk 最初在 1986 年完成,之后不断地被改进、更新。gawk 包含 awk 的所有功能。 gawk 的主要功能是针对文件的每一行(line),也就是每一条记录,搜寻指定的格式。当某一行符合指定...

    Linuxawk命令详解[归类].pdf

    /bin/awk -f 作为首行,给予该脚本可执行权限,然后在 shell 下通过键入该脚本的脚本名调用之。 3. 将所有的 awk_script 插入一个单独脚本文件,然后调用:awk -f awk 脚本文件 input_file(s) awk 的运行过程: 1...

    Linux主要shell命令、sed、awk使用详解

    awk 命令是 Linux 中的一个文本处理命令,可以用来处理文本文件并对其进行编辑。awk 命令可以用来删除、添加、替换文本中的内容。awk 命令的格式为:awk [option] [script] [file],其中 option 是选项,script 是 ...

    awk_linux_bash_awk_

    在Linux系统中,`bash`和`awk`是两种强大的命令行工具,它们在处理文本数据和自动化任务方面发挥着重要作用。`bash`是Bourne-Again SHell的缩写,是Unix和Linux系统中的默认shell,而`awk`则是一种编程语言,特别...

    linux sed awk

    这两种语言都可以实现sed和awk的功能,但在某些场景下可能更加灵活和高效。 **Perl**的特点: - 强大的正则表达式支持。 - 高效的数据处理能力。 - 广泛应用于网络编程、文本处理等领域。 **Python**的特点: - ...

Global site tag (gtag.js) - Google Analytics