awk 数据处理小技巧

进行数据分析或统计时,如果数据量较小,我们可以用awk快速处理,以下是一些小技巧

一、时间戳转换

日期转时间戳: date -d "20150315"  "+%s"

时间戳转日期:date -d @1426565428 "+%Y-%m-%d"

二、数据统计处理

随机取100个数
awk ‘BEGIN{srand()} {print rand()" "$1}‘ 2.txt | sort -k1 | head -100

取交集
cat 1.txt 2.txt | sort | uniq -d

取并集
cat 1.txt 2.txt | sort | uniq

除去交集
cat 1.txt 2.txt | sort | uniq -u

求重复出现次数最多的数字
cat 1.txt 2.txt | sort | uniq -c | sort -r -k1 | head -100

求平均数
awk ‘{sum+=$1} END{print "average="sum/NR}‘ 1.txt

三、文件处理

拷贝文件某几行

sed -n ‘1,10p‘ 1.txt > copy.txt

时间: 2024-08-07 09:46:21

awk 数据处理小技巧的相关文章

【转载】有哪些省时小技巧,是每个Linux用户都应该知道的

前言:有网友在问答网站Quora上提问:“有哪些省时小技巧,是每个Linux用户都应该知道的?” Joshua Levy 平常就在 Linux 平台工作,并且他积累了不少实用命令行技巧,他在回复中精选出一部分.对技术用户来说,这些技巧挺重要或实用,但知道的人并不多.下文略有点长,一般来说,用户也不需要对全部内容都了解,但为了达到省时方便的目的,Joshua Levy 仍不遗余力做了校对,以保证列出的每一条都值得一读,前提是你是一位Linux重度用户. 为了获取文中提到的一个命令的更多信息,先试下

linux 小技巧总结

(1)linux判断文件是否存在 if [ -f filename]: then      ......#要执行的语句 fi 具体例子: file=/usr/local/oracle/oradata/archived_log/file.txt if [ -f $file ];then             #判断文件是否存在,存在就追加   echo $file_i >> $file   else                               #否则复写   echo $fil

Ubuntu使用之Svn命令小技巧

注: [svn Path]:是指要取代码分支的服务器绝对路径 [Path]:是指终端相对当前目录的相对路径,如果是在当前目录下,就省略路径 ①.取svn服务器的代码: svn co [svn Path] ②.查看当前目录的svn状态: svn st ③.查看某个目录的svn状态: svn st [Path]dirName ④.查看某文件在svn上的修改记录: svn log [Path]fileName ⑤.查看某文件/目录在svn上的最近n次修改记录(n必须是大于0的整数): svn log

轻量化ViewController的几个小技巧

轻量化ViewController MVC最令人头疼的问题可能就是随着项目愈发复杂,ViewController的代码也会变得越来越冗长.阅读了objc的<Lighter View Controllers>和<Clean Table >这两篇文章之后,总结了一些常用的轻量化ViewController的小技巧. 分离业务重点 既然要简化ViewController中的代码,那么在不改变原来实现方式的前提下,唯一的方法就是把一些可以不用放在ViewController中的代码转移出去

hadoop编程小技巧(3)---自定义分区类Partitioner

Hadoop代码测试环境:Hadoop2.4 原理:在Hadoop的MapReduce过程中,Mapper读取处理完成数据后,会把数据发送到Partitioner,由Partitioner来决定每条记录应该送往哪个reducer节点,默认使用的是HashPartitioner,其核心代码如下: /** Use {@link Object#hashCode()} to partition. */ public int getPartition(K2 key, V2 value, int numRe

shell 小技巧之修改后缀及grep

批量修改文件后缀 第一种: #!/bin/bash for fn in *.$1 do mv $fn ${fn%$1}$2 done 第二种: find . -name "*.txt" | awk -F'[./]+' '{print $2}' | xargs -i -t mv {}.txt {}.sh GREP 用户小技巧 文件如下: # cat test.txt  This is a test file a good day and no coludy Sit here and si

Python 中的一些小技巧

这里是本人收集的一些 Python 小技巧,目前主要是一些实用函数,适合有一定基础的童鞋观看(不会专门介绍使用到的标准库函数).. 一.函数式编程 函数式编程用来处理数据,感觉很方便.(要是再配上管道操作符 | 或者 Java 的那种链式调用,超级爽!可惜 Python 都没有..需要借助第三方库) 1. 分组/group 数据处理中一个常见的操作,是将列表中的元素,依次每 k 个分作一组. def group_each(a, size: int):     """     

一些实用的 Laravel 小技巧

Laravel 中一些常用的小技巧,说不定你就用上了. 1.侧栏 网站一般都有侧栏,用来显示分类,标签,热门文章,热门评论啥的,但是这些侧栏都是相对独立的模块,如果在每一个引入侧栏的视图中都单独导入与视图有关的数据的话,未免太冗余了.所以最佳的做法是:新建一个widgets视图文件夹,再利用Laravel 的ViewComposers单独为侧栏绑定数据,这样侧栏就可以随便引入而不用关心数据是否绑定啦. 举个栗子,拿最常用的分类侧栏来说,在resources/views/widgets下新建你的分

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,