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

Linux sed 使用笔记的更多相关文章

  1. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

  2. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  3. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  4. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  5. Sed&awk笔记之sed篇

    http://blog.csdn.net/a81895898/article/details/8482387 Sed是什么 <sed and awk>一书中(1.2 A Stream Ed ...

  6. Linux实战教学笔记10:正则表达式

    第十节 正则表达式 标签(空格分隔):Linux实战教学笔记 ---更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的 ...

  7. Linux实战教学笔记09:通配符

    第九节 通配符 标签(空格分隔): Linux实战教学笔记 ---更多详细资料请点我查看 第1章 回顾特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输出追加重定向 ...

  8. Linux实战教学笔记14:用户管理初级(下)

    第十四节 用户管理初级(下) 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,用户查询相关命令id,finger,users,w,who,last,lastlog,gr ...

  9. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

随机推荐

  1. 如何使用 js 实现一个 throttle 函数

    如何使用 js 实现一个 throttle 函数 原理 实现方式 "use strict"; /** * * @author xgqfrms * @license MIT * @c ...

  2. Alexa website ranking

    Alexa website ranking The top 500 sites on the web https://www.alexa.com/topsites https://www.alexa. ...

  3. React & Didact

    React & Didact A DIY guide to build your own React https://github.com/pomber/didact https://gith ...

  4. ESLint & jsx-quotes & quotes

    ESLint & jsx-quotes & quotes bug { "jsx-quotes": [ "error", "prefer ...

  5. scroll tabs

    scroll tabs https://github.com/NervJS/taro-ui/blob/dev/src/components/tabs/index.tsx https://github. ...

  6. 人物传记Daniel Bolsonaro:永远不要做一个思维单一的人

    从小经历了移民和不断辗转迁徙搬家的Daniel Bolsonaro(现就职于灵石团队,职位是核心技术架构师)知道,人生不可能只有一条路,也不要局限于只给自己设立一条路.既然父母能带自己离开巴西来到美国 ...

  7. SharedPreferences 数据传输中遇到的一些问题总结

    原构想:MainActivity 设置两个按钮,btn1--跳转Main2Activity通过复选框组选择并提交,btn2--跳转Main3Activity通过RecycleView显示选择结果. 主 ...

  8. CentOS7安装Mysql并配置远程访问

    (su root登录到root账户) 下载repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装rpm ...

  9. Python爬虫系统化学习(3)

    一般来说当我们爬取网页的整个源代码后,是需要对网页进行解析的. 正常的解析方法有三种 ①:正则匹配解析 ②:BeatuifulSoup解析 ③:lxml解析 正则匹配解析: 在之前的学习中,我们学习过 ...

  10. Spring Boot移除内嵌Tomcat,使用非web方式启动

    前言:当我们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不需要内嵌的tomcat,简化启动方式使用非web方式启动项目,步骤如下: 1.在pom.xml文件中去 ...