Bash 数据处理
一、用 grep 进行数据筛选
1、数据
item, modelnumber, price, tax |
2、操作
# 关键字 |
二、数据替换
1、数据
(1) data.csv
age,value |
(2) temps.txt
temp,unit |
2、操作
(1) 用 sed 替换文件的双引号
cat data.csv | sed 's/"//g' |
(2) 用 awk 有条件的替换数据
cat temps.txt | awk -F',' '{if($2=="F")print (($1-32)*5/9)",C";else print $1","$2}' |
三、数据排序
1、 数据
0 |
2、操作
(1) 首字符 Unicode 大小排序
cat foo.txt | sort |
(2) 数字排序
cat foo.txt | sort -n |
(3) 倒序
cat foo.txt | sort -r |
(4) 组合使用——数字倒序
cat foo.txt | sort -n -r |
四、两份文件交并集运算
1、数据
(1) signups.txt
68_so_late@hotmail.com |
(2) purchases.txt
example@gmail.com |
2、操作(需要先排序,不然运算结果可能不对)
(1) 找出登录账户并且购买了商品的用户(求交集)
comm -12 <(sort signups.txt) <(sort purchases.txt) |
(2) 找出登录了,但未购买的用户(非)
comm -23 <(sort signups.txt) <(sort purchases.txt) |
(3) 找出购买了,但未登录的用户(非)
comm -13 <(sort signups.txt) <(sort purchases.txt) |
五、检测数据唯一性,统计重复数
1、数据
Shoes,19.00 |
2、操作
(1) 获取所有键值
cat sales1.csv | awk -F',' '{print $1}' | sort | uniq |
(2) 统计重复键值
cat sales1.csv | awk -F',' '{print $1}' | sort | uniq -c |
六、查看文件的一部分
(1) 查看文件前面一小部分
cat sales.csv | head -n 3 |
(2) 查看文件后面一小部分
cat sales.csv | tail -n 3 |
七、文件行数、字数统计
(1) 文件行数统计
wc -l temps.txt |
(2) 字数统计
echo -n "Here is some text that you'll get a character count for" | wc -c |
本文标题:Bash 数据处理
文章作者:Canace
发布时间:2020-01-04
最后更新:2023-05-26
原始链接:https://canace.site/bash%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/
版权声明:转载请注明出处
分享