Linux上天之路(十四)之Linux数据处理
主要内容
数据检索
数据排序
数据去重
重定向
1. 数据检索
常和管道协作的命令 – grep
grep:用于搜索模式参数指定的内容,并将匹配的行输出到屏幕或者重定向文件中,常和管道协作的命令 – grep。
还有egrep和fgrep两个命令。
egrep可以使用扩展的正则表达式
fgrep没有元字符与普通字符的区别
grep egrep用别名加了—color之后才好理解。
- grep命令
grep, egrep, fgrep - print lines matching a pattern
命令语法
grep [OPTIONS] PATTERN [FILE...]
命令选项
-r 递归
-v 反取
-i 忽略大小写
-n 显示行号
-c 计数
-w 匹配一个词
-l 只给出匹配的文件名
-L 列出不匹配的文件名
-o 只列出匹配的内容
-E 支持扩展的正则表达式
-q 在标准输出中不输出任何内容,即静默模式
PATTERN
匹配字符串
example
对文件夹的操作
grep -r "root" /etc 递归检索/etc下所有文件中包含root的文件
grep -l -r "root" /etc 列出包含 root字符串的文件名
grep -L -r "root" /etc 列出不包含root字符串的文件名
对文件的操作
grep "root" /etc/passwd 找出文件中包含字符串root的行
grep -v "root" /etc/passwd 找出文件中不包含字符串root的行
grep -n "root" /etc/passwd 找出文件中包含字符串root的行,并显示行号
grep -c "root" /etc/passwd 统计文件中包含字符串root的行数
grep -w "root" /etc/passwd 匹配的字符串必须是一个完整单词 而不是包含
grep -o "root" /etc/passwd 只显示匹配的内容
grep -q "root" /etc/passwd 只匹配不输出
可以使用$?来监测结果,一般脚本中使用较多
[root@www ~]# grep -q "root" /etc/passwd
[root@www ~]# echo $?
0
[root@www ~]# grep -q "root1" /etc/passwd
[root@www ~]# echo $?
- 管道: |
上一个命令的输出作为下一个命令的输入
cat /etc/passwd | head -2
2. 数据排序
- 常和管道协作的命令 - sort
sort - sort lines of text files
-n 按数字排序
-r 反序排序
-o 结果输出到文件
-t 分隔符 sort -n -t: -k3 /etc/passwd
-k 关键字 (按照指定列来排序)
example:
ps -a -o comm,vsz,rss,pmem |sort -nr -k 3
3. 数据去重
常和管道协作的命令 - uniq
uniq - report or omit repeated lines
-c 每行出现的次数
-d 仅显示重复行
-u 仅显示不重复行
-i 忽略大小写
-f N 跳过前面N个部分 (空格分开)
-s N 跳过前面N个字符 (一般字符)
4. 重定向
> 重定向输入
>> 重定向追加
< 重定向输出
<< 重定向追加输出
linux中使用
0 代表标准输入 stdin
1 代表标准输出 stdout
2 代表标准错误输出 stderr
把输入输出和重定向混合使用。
2>把标准错误流重定向到文件中。
2>&1或>&把标准错误流与标准输出流结合在一起。
2>>是什么情况?
2>&1的意思是,“把标准错误传送到标准输出要去的任何位置”。
Linux上天之路(十四)之Linux数据处理的更多相关文章
- Linux上天之路(四)之Linux界面介绍
Linux界面 linux为使用者提供了图形界面和文本界面,但是很多操作依然需要文本界面的操作才能完成,很多人使用起来比较蹩脚,又因为linux平台的个人应用APP相对较少,使得大家的个人PC安装了l ...
- Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件
前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...
- Linux上天之路系列目录
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...
- Linux学习总结(十四)—— 查看CPU信息
文章首发于[博客园-陈树义],点击跳转到原文Linux学习总结(十四)-- 查看CPU信息. Linux学习总结(十四)-- 查看CPU信息 商用服务器CPU最常用的是 Intel Xeon 系列,该 ...
- linux基础-第十四单元 Linux网络原理及基础设置
第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...
- Linux内核分析 - 网络[十四]:IP选项
Linux内核分析 - 网络[十四]:IP选项 标签: linux内核网络structsocketdst 2012-04-25 17:14 5639人阅读 评论(1) 收藏 举报 分类: 内核协议栈 ...
- Linux上天之路(一)之Linux前世今生
0. Linux的前世今生 linux是什么 linux是一个计算机的操作系统,与windows类似,是一款系统软件 操作系统 说到操作系统其实我们首先要思考三个问题: 1)操作系统是什么? 2)操作 ...
- 《Linux Device Drivers》第十四章 Linux 设备型号
基本介绍 2.6内核设备模型来提供的抽象叙述性描述的一般系统的结构,为了支持各种不同的任务 电源管理和系统关机 用户空间与通信 热插拔设备 设备类型 kobject.kset和子系统 kobject是 ...
- 运维是做什么的?史上最全互联网Linux工作规划!十分钟找到linux运维工程师职业方向!
首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...
- JVM菜鸟进阶高手之路十四:分析篇
转载请注明原创出处,谢谢! 题目回顾 JVM菜鸟进阶高手之路十三,问题现象就是相同的代码,jvm参数不一样,表现的现象不一样. private static final int _1MB = 1024 ...
随机推荐
- Python 3 字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d ...
- 前端浅谈-Js的组成
这里主要想详细的分析一下浏览器渲染过程,但东西比较多.所以分成多个部分. JS由三个部分组成,分别为ECMAScript.BOM.DOM. 其中BOM是浏览器层面的东西,而DOM是页面层面的东西.简单 ...
- HGAME2021 week4 pwn writeup
第四周只放出两道题,也不是很难. house_of_cosmos 没开pie,并且可以打got表. 在自写的输入函数存在漏洞.当a2==0时,因为时int类型,这里就会存在溢出.菜单题,但是没有输出功 ...
- 使用bochs调试汇编程序
使用bochs调试汇编程序 前面我们已经搭建好了bochs的环境,并且将我们的汇编程序写入了硬盘里面,现在我们来看看如何通过bochs来调试我们的程序. 前文:https://www.cnblogs. ...
- 转置Table.Transpose(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 转置成两行五列 操作过程: [转换]>[转置] M公式: = Table.Transpose( 表 )
- LuoguP7859 [COCI2015-2016#2] GEPPETTO 题解
Content 有 \(n\) 个数 \(1\sim n\).你需要在其中选若干个数.但是还有 \(m\) 个限制,第 \(i\) 个限制格式为 \(a_i\) 不能和 \(b_i\) 一起选.问你一 ...
- redis集群搭建,使用注意
https://www.cnblogs.com/vieta/p/11192137.html https://blog.csdn.net/qq_42815754/article/details/8291 ...
- mvn 把本地jar包打包到本地仓库中
命令如下: mvn install:install-file -Dfile=apache-ant-zip-2.3.jar -DgroupId=com.ckfinder -DartifactId=apa ...
- ubuntu(Linux) c++ 获取本机IPv4和ipv6、查询本机IPv4,IPv6
1.关于 演示环境: Linux xxxxxxx 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x ...
- 【LeetCode】111. Minimum Depth of Binary Tree 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS BFS 日期 [LeetCode] 题目地址 ...