awk 数据处理小技巧

时间:2021-06-20 16:04:02
进行数据分析或统计时,如果数据量较小,我们可以用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