我有一个由以下结构组成的平面文件:
A1 B1 C1 D1 E1 F1 G1
A2 B2 C2 D2 E2 F2 G2
A3 B3 C3 D3 E3 F3 G3
此文件大约有 100 万行。
我想生成以下统计数据:
- 文件中的行数。
- 特定行中唯一记录的数量(例如 B)。
- 按行 F 排序,并创建一个包含该行中前 n 条记录的文件。
进行此分析的最佳方法是什么?我目前正在使用Mac OSX,所以最好使用Linux/Mac解决方案。
在bash(你的mac命令行shell)中很容易做到。
像这样:
# 1. row count
wc -l filename
# 2. uniq count in col 1
cut -d " " -f 1 <filename> | sort | uniq | wc -l
# 3. top n uniq values in col 6, and their counts
cut -d " " -f 6 <filename> | sort | uniq -c | sort -nr | head -n <numrows>