环境
  虚拟机:VMware 10
  Linux版本:CentOS-6.5-x86_64
  客户端:Xshell4
  FTP:Xftp4

一、cut:显示切割的行数据
f:选择显示的列
s:不显示没有分隔符的行
d:自定义分隔符

举例:
cut -d' ' -f1-3 test.txt 按照空格切分test.txt每一行数据 显示1-3列
cut -d' ' -f1,3 test.txt 按照空格切分test.txt每一行数据 显示第1、3列
cut -d' ' -s -f1,3 test.txt 按照空格切分test.txt每一行数据 显示第1、3列 不显示没有分隔符的行

二、sort:排序文件的行
n:按数值排序
r:倒序
t:自定义分隔符
k:选择排序列
u:合并相同行
f:忽略大小写

[root@node1 src]# sort -t' ' -k2 sort.txt
apple 1
banana 12
orange 8
[root@node1 src]# sort -t' ' -n -k2 sort.txt
apple 1
orange 8
banana 12
[root@node1 src]# sort -t' ' -n -r -k2 sort.txt
banana 12
orange 8
apple 1

三、wc 统计单词
-c 字节数
-l 行数
-w 单词数
统计文件行数、单词数、单词字节数(包括空格、占位符)
[root@node1 src]# wc sort.txt
3 6 27 sort.txt

四、sed 行编辑器
主要两件事:
1.查询数据,使用行号或者正则查询
2.对查询出来的数据进行新增(行前或行后)、替换、删除 -i参数会修改源文件

sed [options] 'AddressCommand' file ...
options:
-n: 只展示匹配到内容
-i: 直接修改原文件
-e SCRIPT -e SCRIPT:可以同时执行多个脚本
-f /PATH/TO/SED_SCRIPT
-r: 表示使用扩展正则表达式

编辑命令
d: 删除符合条件的行;
p: 显示符合条件的行;
a\string: 在指定的行后面追加新行,内容为string
\n:可以用于换行
i\string: 在指定的行前面添加新行,内容为string
c\ 用新文本替换定位文本
r FILE: 将指定的文件的内容添加至符合条件的行处
w FILE: 将地址指定的范围内的行另存至指定的文件中;
s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
g: 行内全局替换
i: 忽略字符大小写
s///: s###, s@@@
\(\), \1, \2

sed:行编辑器Address
可以没有
给定范围
查找指定行/str/

五、awk
awk是一个强大的文本分析工具。相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk -F '{pattern + action}' {filenames}
支持自定义分隔符
支持正则表达式匹配
支持自定义变量,数组 a[1] a[tom] map(key)
支持内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
支持函数
print、split、substr、sub、gsub
支持流程控制语句,类C语言
if、while、do/while、for、break、continue

参考:
sed
https://www.cnblogs.com/ctaixw/p/5860221.html

【Linux学习五】文本处理的更多相关文章

  1. Linux学习之文本处理命令(五)

    ---恢复内容开始--- Linux 系统之文本处理命令 (一)基于关键字搜索 (二)基于列处理文本 (三)文本统计 (四)文本排序 (五)删除重复行 (六)文本比较 (七)处理文本内容 (八)搜索替 ...

  2. Linux 学习 (五) 压缩与解压缩命令

    Linux达人养成计划 I 学习笔记 常用压缩格式:.zip | .gz | .bz2 | .tar.gz | .tar.bz2 .zip zip 压缩文件名 源文件:压缩文件 zip -r 压缩文件 ...

  3. linux学习五

    一.系统服务管理 1.概念 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程 序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 ...

  4. Linux学习(五)-Linux组管理和权限管理

    Linux组基本介绍 在Linux中的每一个用户必须属于一个组,不能独立与组外.在Linux中每个文件有所有者,所在组,其他组的概念 所有者 所在组 其它组 改变用户所在组 1.文件/目录 所有者 文 ...

  5. linux学习-常用文本处理命令

    1.文本处理命令 (1) tr 转换或删除字符 tr [OPTION]...SET1 SET2 选项: -c 取SET1字符串的补集 -d 删除属于SET1中的字符 -s 把连续重复出现的字符以单独一 ...

  6. linux学习(五)-----组管理和权限管理

    Linux 组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外.在 linux 中每个文件有所有者.所在组.其它组的概念. 1)所有者 2)所在组 3)其它组 4)改变用户所在的组 ...

  7. linux 学习5 文本编辑器 vim

    vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...

  8. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  9. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

随机推荐

  1. jetty各个版本对应的jdk版本

    1:jetty各个版本信息 版本号 发布及维护年份 托管平台 JVM版本 支持的协议 servlet版本 JSP版本 目前状态 9.3 2015 Eclipse 1.8 HTTP/1.1 (RFC 7 ...

  2. collection my favoriate websites

    802.1x认证客户端linux版安装 http://blog.csdn.net/StarChunli/article/details/50918121 在U盘上安装kali linux http:/ ...

  3. 01.jupyter环境安装

    jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文 ...

  4. vue指令v-html中使用过滤器filters功能

    Vue 2.0 不再支持在 v-html 中使用过滤器 解决方法: 1:全局方法(推荐) 2:computed 属性 3:$options.filters(推荐) 1:使用全局方法: 可以在 Vue ...

  5. centos 安装 pcre

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/37054235 #rpm -qa | ...

  6. Python中使用SMTP发送邮件以及POP收取邮件

    假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email ...

  7. Java Script的用途(简介)

    1.可以用来写入HTML输出 <script> document.write("<h1>This is a heading</h1>");//标 ...

  8. boost生成json中的put操作

    ptree中的put操作后可以加<>,指定类型,不加<>采用默认的类型,感觉不加反而更好用.用法见下面例子. #include <iostream> #includ ...

  9. https://www.cnblogs.com/beileixinqing/p/7724779.html vue-cli生成的项目配置开发和生产环境不同的接口 vue-cli生成的项目,vue项目配置了不同开发环境的接口地址,axios.defaults.baseURL如何引用这个地址,这是在我发布项目的时候考虑的,于是想到了

    方法二:(集热心网友提供的方案) 一般项目webpack会有两个或多个配置文件,如: webpack.prod.conf.js 对应线上打包 webpack.dev.conf.js 对应开发环境 使用 ...

  10. GRU门控制循环单元【转载】

    转自:https://www.infoq.cn/article/sliced-recurrent-neural-networks 1.门控循环单元 GRU GRU 由 reset gate r 和 u ...