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
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 -u
求重复出现次数最多的数字
cat 1.txt 2.txt | sort | uniq -c | sort -r -k1 | head -100
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