Linux学习总结(十八)几个简单的文本处理工具cut sort tr split
1 命令cut
用来截取某一个字段
格式 : cut -d '分隔符' [-cf] n, n为数字,表示第几段
-d:后面跟分隔符,分割符要加单引号
-c:后面接的是第几个字符
-f:后面接的是第几段
那么意思是-c,-f选项二选一
例如: head -3 /etc/passwd |cut -d ':' -f 1
例如 head -3 /etc/passwd |cut -c 1
-c也可以是一个区间
例如 head -3 /etc/passwd |cut -c1-3
-c 也可以单独指定好几个位置的字符
例如 head -3 /etc/passwd |cut -c1,3,4
2 命令sort
用来排序,格式为 sort [-t 分隔符] [-kn1,n2] [-nru],这里n1和n2为数字
-t:后面跟分割符,作用跟cut的-d一样
-n:表示用纯数字排序
-r:表示反向排序
-u:表示去重复
-kn1,n2:表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
sort 不加任何选项表示从首字符向后依次按ASCII码值进行比较,最后按升序输出
例如 head -4 /etc/passwd |sort
-t 指定分隔符,-k指定区域
例如 head -4 /etc/passwd |sort -t ':' -k3 -n
也可以对连续一段区域排序
例如 head -4 /etc/passwd |sort -t ':' -k3,5 -r
3 命令wc
用于统计文档的行数,字符数或词数
-l 统计行数
-m 统计字符数
-w 统计词数
4 命令uniq
用来删除重复的行,前提是需要排序
-c 用来统计重复的行数
我们编写一个test.txt来理解下
5 命令tee
tee 配合管道符使用作用类似于重定向,但比重定向多一个功能,可以把文件写入目标文件时,还可以把它打印出来。
比较下这两句: head -3 /etc/passwd > a.txt
head -3 /etc/passwd |tee b.txt
6 命令 tr
用于替换字符,常用来处理文档中的特殊符号
-d 表示删除某个字符
-s 表示删除重复的字符
举两个例子 ,小写替换大写
head -2 /etc/passwd |tr '[a-z]' '[A-Z]'
替换某一个字符
head -2 /etc/passwd |tr 'o' 'O'
7 命令split
用户切割文档,常用的选项有-b,-l
-b :指定文件大小切割,单位为byte
例如我们把一个3M的文件切割3份
下面我们按行切割下,/etc/passwd 有21行,我们把它按行切割为三份
Linux学习总结(十八)几个简单的文本处理工具cut sort tr split的更多相关文章
- Linux学习之十八-sudo分权管理
sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...
- 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除
目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- (C/C++学习笔记) 十八. 继承和多态
十八. 继承和多态 ● 继承的概念 继承(inheritance): 以旧类为基础创建新类, 新类包含了旧类的数据成员和成员函数(除了构造函数和析构函数), 并且可以派生类中定义新成员. 形式: cl ...
- Spark学习之路 (十八)SparkSQL简单使用
一.SparkSQL的进化之路 1.0以前: Shark 1.1.x开始: SparkSQL(只是测试性的) SQL 1.3.x: SparkSQL(正式版本)+Dataframe 1.5.x: S ...
- Spark学习之路 (十八)SparkSQL简单使用[转]
SparkSQL的进化之路 1.0以前: Shark 1.1.x开始: SparkSQL(只是测试性的) SQL 1.3.x: SparkSQL(正式版本)+Dataframe 1.5.x: Spar ...
- 轻松学习JavaScript十八:DOM编程学习之DOM简单介绍
一DOM概述 DOM(文档对象模型)是HTML和XML的应用程序接口(API).DOM将把整个页面规划成由节点层级构成的文档. DOM描绘了一个层次化的节点树,执行开发者加入,移除和改动页面的某一部分 ...
- Linux学习之十五、基础正规表示法\延伸正规表示法
原文地址: http://vbird.dic.ksu.edu.tw/linux_basic/0330regularex_2.php 基础正规表示法 既然正规表示法是处理字串的一种表示方式,那么对字节排 ...
随机推荐
- C# 之程序退出的方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中 ...
- VS中让用户选择路径
//选择文件 OpenFileDialog ofd = new OpenFileDialog(); ofd.ShowDialog(); MessageBox.Show(ofd.FileName); / ...
- 十四、ReentrantLock重入锁
一.简介 JDK提供了Lock接口来实现更丰富的锁控制,ReentrantLock即Lock接口的实现 JDK文档:http://tool.oschina.net/uploads/apidocs/jd ...
- 二、hive shell常用命令
在使用hive shell之前我们需要先安装hive,并启动hdfs 请参考:https://www.cnblogs.com/lay2017/p/9973298.html hive shell 我们先 ...
- 配置/etc/profile错误导致很多系统命令无法使用
在配置hadoop的环境变量的过程中,由于字符输入错误导致/etc/profile文件出错,并导致系统的基本命令不能使用,如:vi,ls等. 这种情况,首先修改/etc/profile的错误文件内容, ...
- git远程从入门到放弃
git pull下来用git branch -r查看远程分支才有数据 解决方案:指定当前工作目录工作分支,跟远程的仓库,分支之间的链接关系. 比如我们设置master对应远程仓库的master分支 g ...
- K:找寻数组中第n大的数组元素的三个算法
相关介绍: 给定一个数组,找出该数组中第n大的元素的值.其中,1<=n<=length.例如,给定一个数组A={2,3,6,5,7,9,8,1,4},当n=1时,返回9.解决该问题的算法 ...
- C# 简单的loading提示控件
自己画一个转圈圈的控件 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- 判断是手机端还是电脑端 isMobile()
1.在PublicController控制器中写好判断手机端方法. <?php namespace Home\Controller; use Think\Controller; class Pu ...
- 前端之困 · XSS CookBook
方法论 发掘漏洞的时间要具体到是检测什么目标了,找 Google 的,和找腾讯的时间肯定不会一样. 至于是如何发现的,不同类型的 XSS 漏洞,可能不尽相同. 反射型 以及一些 DOM 型,一般建议是 ...