Loading

Linux sed 使用笔记

sed 工具使用笔记

Linux中经常需要对一些超大的文本文件进行操作,例如 GB 级别的 CSV、TXT、LOG 文件,如果使用 vi 或者 vim 编辑器操作会非常慢且卡,此时 sed 工具或许可以救我们的命。这里记录一些常用的操作备查。

1. 统计文件行数

[root@hdspdev007 data]# sed -n '$=' user.csv 
5000001

ps:统计行数用 wc -l user.csv 更快

2. 查看文件中指定的行

# 查看第5行数据
[root@hdspdev007 data]# sed -n '5p' user.csv 
0000732616060004,院颖华,abe_adams,21,女,56789012345@aliyun.com,15567891234,浙江省,梅州市,2010-08-06 03:44:36

# 查看第1到第5行数据
[root@hdspdev007 data]# sed -n '1,5p' user.csv 
uid,cn_name,en_name,age,sex,email,phone_number,province,city,register_time
0003493087390001,周树松,aaron_abbott,18,男,89012345@qq.com,13045678912,辽宁省,揭阳市,2008-03-09 02:56:06
0002586044680002,佳国正,abby_acevedo,19,女,12345678901234@163.com,13167891234,辽宁省,鞍山市,2000-10-08 04:42:48
0004830408360003,傅良明,abdul_acosta,20,男,89012345@263.net,13256789123,新疆维吾尔自治区,常德市,2020-06-02 08:05:14
0000732616060004,院颖华,abe_adams,21,女,56789012345@aliyun.com,15567891234,浙江省,梅州市,2010-08-06 03:44:36

3. 替换文件中指定的字符

# 将 user.csv 文件中的 a 替换为 b
sed -i "s/a/b/g" user.csv

4. 删除行首空格

sed -i 's/^ //g' user.csv

5. 删除行尾空格

sed -i 's/ $//g' test
posted @ 2021-01-07 14:39  LifeLogs  阅读(129)  评论(0编辑  收藏  举报