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的更多相关文章

  1. Linux学习之十八-sudo分权管理

    sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...

  2. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  3. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  4. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  5. (C/C++学习笔记) 十八. 继承和多态

    十八. 继承和多态 ● 继承的概念 继承(inheritance): 以旧类为基础创建新类, 新类包含了旧类的数据成员和成员函数(除了构造函数和析构函数), 并且可以派生类中定义新成员. 形式: cl ...

  6. Spark学习之路 (十八)SparkSQL简单使用

    一.SparkSQL的进化之路 1.0以前: Shark 1.1.x开始: SparkSQL(只是测试性的)  SQL 1.3.x: SparkSQL(正式版本)+Dataframe 1.5.x: S ...

  7. Spark学习之路 (十八)SparkSQL简单使用[转]

    SparkSQL的进化之路 1.0以前: Shark 1.1.x开始: SparkSQL(只是测试性的) SQL 1.3.x: SparkSQL(正式版本)+Dataframe 1.5.x: Spar ...

  8. 轻松学习JavaScript十八:DOM编程学习之DOM简单介绍

    一DOM概述 DOM(文档对象模型)是HTML和XML的应用程序接口(API).DOM将把整个页面规划成由节点层级构成的文档. DOM描绘了一个层次化的节点树,执行开发者加入,移除和改动页面的某一部分 ...

  9. Linux学习之十五、基础正规表示法\延伸正规表示法

    原文地址: http://vbird.dic.ksu.edu.tw/linux_basic/0330regularex_2.php 基础正规表示法 既然正规表示法是处理字串的一种表示方式,那么对字节排 ...

随机推荐

  1. Linux多进程之间的文件锁

    之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作.故想到了文件锁. Linux下可以使用flock()函数对文件进行加锁解锁等操作.简单介绍下flock()函数: 表头 ...

  2. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

  3. [javaSE] 标识符大小写

    java中是严格区分大小写的. PHP中函数,类名称不区分大小写,变量和常量区分大小写 public class VariableDemo { public static void test(){ S ...

  4. php 函数的嵌套

    /*一定要小心变量作用域*/ function insert_dynamic() { function bar() { echo "I don't exist until insert_dy ...

  5. Spring MVC 实现Excel的导入导出功能(2:Excel的导入优化和Excel的导出)

    Excel的导入V2优化版 有些时候文件上传这一步骤由前端来处理,只将上传后的 URL 传输给后端(可以参考上一文中的图片上传功能),也就是导入请求中并不会直接处理 MultipartFile 对象, ...

  6. Ubuntu14.04默认cmake升级为3.x

    由于Ubuntu14.04的cmake版本为2.8.x,而如果需要cmake3.x版本时,无法生成makefile,有两种方法可以安装cmake3.4.1: sudo apt-get install ...

  7. Java枚举、静态导入、自动拆装箱、增强for循环、可变参数

    一.枚举简介 1.什么是枚举? 需要在一定范围内取值,这个值只能是这个范围内中的任意一个 现实场景:交通信号灯,有三种颜色,但是每次只能亮三种颜色里面的任意一个 2.使用一个关键字 enum enum ...

  8. css属性之float

    0.float与margin 两个相邻的浮动元素,当第一个浮动元素(不论是左浮动还是右浮动)的宽度为100%时,第二个浮动元素会被挤到下面,通过添加负margin-right值(绝对值最少等于它自身的 ...

  9. laraval开发之QQ登录及QQ报错

    1.composer安装依赖 2.在config/app.php中注册providers并添加Socialite门面 3.在app/Providers/EventServiceProcider.php ...

  10. 使用ArcGIS Chef Cookbook轻松搞掂WebGIS平台部署

    1.安装Chef Client v12版本. 2.复制arcgis cookbook资源到Chef安装目录. 3.考虑到一般部署的服务器环境无法连接互联网,所以需要事先部署ArcGIS Cookboo ...