管道

管道是一种使用非常频繁的通信机制,我们可以使用管道符"|"来连接进程,
由管道连接起来订单进程可以自动运行,如同有一个数据流一样,所以管道表现为输入输出重定向的一种方法,
它可以把一个命令的输出内容当作下一个命令的输入内容,两个命令之间只需要管道符连接即可

使用grep搜索文本

grep [-ivnc] '需要匹配的字符' 文件名
#-i 不区分大小写
#-c 统计包含匹配的行数
#-n 输出行号
#-v 反向匹配
例子:
[root@Cfhost-170820-UCNK ~]# cat test.txt
The cat's name is Tom,What's the mouse's name?
The mouse's NAME is Jerry
They are good friends
[root@Cfhost-170820-UCNK ~]# grep 'name' test.txt //搜索含有'name'的句子
The cat's name is Tom,What's the mouse's name?
[root@Cfhost-170820-UCNK ~]# grep -i 'name' test.txt //搜索含有'name'的句子,忽略大小写
The cat's name is Tom,What's the mouse's name?
The mouse's NAME is Jerry
[root@Cfhost-170820-UCNK ~]# grep -c 'name' test.txt//含'name'的句子有多少条
1
[root@Cfhost-170820-UCNK ~]# grep -ci 'name' test.txt//含'name‘的句子有多少条,大小写可忽略
2
[root@Cfhost-170820-UCNK ~]# grep -v 'name' test.txt //搜索不含'name'的句子
The mouse's NAME is Jerry
They are good friends
[root@Cfhost-170820-UCNK ~]# grep -vi 'name' test.txt//搜索不含'name'的句子,大写的NAME也过滤掉
They are good friends
[root@Cfhost-170820-UCNK ~]# cat test.txt
The cat's name is Tom,What's the mouse's name?
The mouse's NAME is Jerry
They are good friends
[root@Cfhost-170820-UCNK ~]# cat test.txt | grep -vi 'name' ? //以上命令都可以使用管道符改写,比如上一个命令可以这样写,意思都是一样的
They are good friends

使用sort排序

sort [-ntkr] 文件名

#-n 采取数字排序
#-t 指定分隔符
#-k 指定第几列
#-r 反向排序
[root@Cfhost-170820-UCNK ~]# cat sort.txt
b:3
c:2
a:4
e:5
d:1
f:11
[root@Cfhost-170820-UCNK ~]# cat sort.txt | sort //按字母正向排序
a:4
b:3
c:2
d:1
e:5
f:11
[root@Cfhost-170820-UCNK ~]# cat sort.txt | sort -r //按字母反向排序
f:11
e:5
d:1
c:2
b:3
a:4
[root@Cfhost-170820-UCNK ~]# cat sort.txt | sort -t ":" -k 2 -n
d:1
c:2
b:3
a:4
e:5
f:11

使用uniq删除重复内容

uniq [-ic]
#-i 忽略大小写
#-c 计算重复内容 [root@Cfhost-170820-UCNK ~]# cat uniq.txt | sort | uniq
//需要说明的是uniq命令一般需要和sort一起使用,也就是先将文件使用进行sort排序,然后再使用uniq删除重复的内容。单独加上uniq不加sort是没有效果的。
123
abc 补充说明:
[root@Cfhost-170820-UCNK ~]# cat uniq.txt | uniq
abc
123
abc
123 [root@Cfhost-170820-UCNK ~]# cat uniq.txt | sort | uniq -c
//使用-c参数就会在每行前面打印出改行重复的次数
2 123

使用cutt截取文本、使用tr做文本转换、使用paste做文本合并(还有一个文件分割用split做,这里不再说了,我目前想不到它到底有什么用)

cut -f 指定列 -d '分隔符'

[root@Cfhost-170820-UCNK ~]# cat /etc/passwd | cut -f1 -d ':'
root
bin
daemon
admin tr命令比较简单,其主要作用在于文本转换或删除
[root@Cfhost-170820-UCNK ~]# cat /etc/passwd | tr '[a-z]' '[A-Z]'
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN paste的作用在于将文件按照行进行合并,中间使用tab隔开
[root@Cfhost-170820-UCNK ~]# cat a.txt
a b c
[root@Cfhost-170820-UCNK ~]# cat b.txt
a b c
[root@Cfhost-170820-UCNK ~]# paste a.txt b.txt
a b c    a b c

Linux系统学习之字符处理的更多相关文章

  1. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  2. Linux系统学习之 一:新手必须掌握的Linux命令1

    2018-10-03 16:04:12 一.常用系统工作命令 1.wget 命令 作用:用于在终端中下载网络文件. 格式:wget [参数] 下载地址 参数及作用: -b : 后台下载模式 -d:显示 ...

  3. LINUX系统学习以及初学者系统下载

    Linux系统常用命令大全 来源:服务器之家 [博客中所有文章如有不对的地方希望看官们指出,有问题也可以提出来相互交流,相互学习,感谢大家!] 初学者建议安装:sentOS Ubuntu系统下载连接h ...

  4. Linux系统学习 九、日志、命令、身份鉴别、目录、文件查看、控制台终端、文件属性

    一.配置静态IP地址 输入ifconfig后没有配置IP地址,接下来进行手动配置. 输入以下命令进入IP配置文件进行配置   原始内容 进入vi后,输入i进入编辑状态,编辑完成后,按esc键退出编辑状 ...

  5. Linux系统学习优缺点

    Linux是一套操作系统,按照鸟哥的说法Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,功能强大而且稳定性卓越.其实Torvalds ...

  6. 网工的Linux系统学习历程

    偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...

  7. 谈谈我对Linux系统学习的历程回顾

    ​​众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...

  8. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  9. 说一说本人对linux系统学习的方法和经验

    摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...

随机推荐

  1. (3)Jquery1.8.3快速入门_jquery对象dom对象转换

    1.Jquery 对象 dom对象的转化使用: 1.1.jquery 对象: 通过$()包装DOM对象后产生的对象. 1.2.jquery对象是Jquery独有的 ,可以使用jquery中的方法. 1 ...

  2. 【Java】XML文件的解析

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  3. Java学习笔记之——常用快捷键(eclipse)

    * Ctrl+C 复制 * Ctrl+V 粘贴 * Ctrl+A 全选 * Ctrl+S 保存 * Ctrl+Z 撤销 * Ctrl+Y 还原 * Ctrl+X 剪切 * Ctrl+F   查找 * ...

  4. mongodb 权限设置--用户名、密码、端口

    转自:http://www.cnblogs.com/valor-xh/p/6369432.html 一.关于权限的默认配置 在默认情况下,mongod是监听在0.0.0.0之上的,任何客户端都可以直接 ...

  5. Hibernate小解惑.

      1.什么是SessionFactory?什么是Session?httpsession和hibernate的session的有什么区别?     SessionFactory接口负责初始化Hiber ...

  6. SQL Server 中的一些概念

    学习SQL Server 2012编程入门经典(第4版)的笔记 1.事务日志 任意数据库的更改起初不进入数据库本身,而是不断地被写入到事务日志. 日志是数据进入磁盘上的最先位置. 2.表 数据库中实际 ...

  7. 拜小白教你OpenCV3.2.0+VS2017开发环境配置

    第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: http://opencv.org/releases.html# 本人选择opencv3.2.0基于Windows平台.读者根据自己 ...

  8. 14-补充内容:MySQl创建用户和授权

    [转]14-补充内容:MySQl创建用户和授权 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操 ...

  9. npm 走 privoxy 代理经常出现 shasum check failed 的解决办法

    今天在下载一个比较大的项目,经常 shasum check failed ,太烦了,于是想切淘宝源,分别尝试 nrm 切换和传递 --registry ,结果都出现 Unexpected end of ...

  10. 传统BI还是自助式BI---BI与数据分析 ZT

    自助式BI或者自助式数据分析是最近几年兴起的一个概念.根据Gartner发布的信息,Self Service Business Intelligence(SSBI)被定义为“终端用户在被批准和支持的平 ...