Place
人员
Part A
🧩 A1.1 查看文件大小
第9周内容
目标: 查出
FIT1043_Dataset.gz
的大小(MB)命令:
或
解释:
ls -lh
:显示详细信息,h
表示以 MB/KB 显示。
du -h
:显示文件占用空间大小。
🧩 A1.2 确定文件分隔符
第10周内容
目标: 找出
FIT1043_Dataset.gz
文件中用来分隔列的符号。命令:
解释:
cat
:读取文件内容。
|
:把上一步的输出传给下一个命令。
gunzip
:解压缩(但只是读取,不会真正解压到磁盘)。
head
:只显示前 10 行,方便查看格式。
分析结果:
你会看到类似这样的输出:
可以看到各列之间使用 逗号(,) 分隔。
🧩 A1.3 统计文件行数
第10周内容
目标: 计算
FIT1043_Dataset.gz
文件共有多少行。命令:
解释:
cat
:读取压缩文件。
gunzip
:在不解压的情况下读取内容。
|
:把解压后的内容传给下一个命令。
wc -l
:统计行数(每一条推文是一行)。
输出示例:
表示共有 1,600,000 行数据。
🧩 A2.1 统计唯一用户数量
第10周内容
目标:
找出数据集中有多少个不同的用户(
user
列)。命令:
解释:
awk -F',' '{print $5}'
:
以逗号为分隔符,打印第 5 列(用户列)。
sort
:将用户名字排序(uniq
需要相邻重复才能识别)。
uniq
:去除重复的用户名。
wc -l
:统计唯一用户名的数量。
输出示例:
说明数据集中有 65,789 个不同用户。
🧩 A2.2 推文日期范围(假设已按时间排序)
第10周内容
目标:
找出推文的最早日期和最晚日期。
命令:
解释:
awk -F',' '{print $3}'
:提取第 3 列(日期列)。
head -1
:显示第一行(最早日期)。
tail -1
:显示最后一行(最晚日期)。
👉 因为题目说明数据按时间顺序排列,所以可以直接取首尾。
输出示例:
🧩 改进版:A2.3 按真实时间排序(年 → 月 → 日)
需要自己网上搜索
目标:
在数据无序时,按真实日期顺序找出最早和最晚日期。
命令:
解释:
- 考虑到英文中如果按照默认的
sort
排序,则
四月(Apr) < 八月(Aug) < 十二月(Dec) - 输出顺序混乱
- 需要使用
sort
command中的K
选项
输出示例: