Linux基本配置和管理 3 ---- Linux命令行文本处理工具
1 文件浏览(简单回顾)
1 cat 查看文件的内容
2 more 以翻页的形式查看,但是只能向下翻页
3 less 以翻页的形式查看,但是能够支持向上和向下翻页
4 head 默认是查看前10行,但是我们指定查看的行数
5 tail 默认是查看后10行,但是我们可以指定查看的行数
2 基于关键字的搜索
假设我在家目录下创建了一个tmp.cpp
1 命令grep是基于关键字进行搜索
2 单个关键字搜索: grep 关键字 文件名
比如我在tmp.cpp 里面搜索Linux
3 多关键字搜索: grep -E "关键字|关键字..." 文件名
比如我在tmp.cpp里面同时搜索哦含有Linux 和test
4 grep的其它参数
1 -i 是忽略大小写
2 -n 是显示结果所在的行
3 -v 是输出不带关键字的行(等于取反)
4 -Ax是输出的时候包含结果所在行之后x行
5 -Bx是输出的时候包含结果所在行之前x行
3 基于列的处理
1 cut命令是用于基于列的文本处理
2 cut -dc -fx 文件名
c是要分割的字符(默认是TAB),x是显示第几列
比如我以":"作为分割符 查看/etc/passwad的第1列
2 我们也可以利用管道来进行cut
比如我先利用grep命令在/etc/passwad中搜索出含有chen关键字的文本结果,然后利用管道去cut出用:作为分割符并且显示第六列
4 文本统计
1 wc命令用来统计文本的信息,默认输出几行,几个单词,几个字节,文件名
我们还是利用上面的tmp.cpp
2 wc还有一些参数
-l 只统计行数
-w 只统计单词
-c 只统计字节数
-m 只统计字符数
5 文本排序
1 命令sort是用来对文本进行排序 sort 文本名
2 sort的常用的参数
-r 进行倒序排序
-n 基于数字进行排序
-r 忽略大小写
-u 删除重复行
-tc 使用c作为分割符分割为列进行排序
-kx 当基于分割符分割为列进行排序时,指定x列来排序
3 删除重复行
sort -u 文件名
uniq 文件名 用来删除相邻的重复行
6 文本的比较
1 命令diff用来比较两个文本文件
diff 文件1 文件2
比如我们比较家目录下的tmp.cpp 和 tmp2.cpp
2 diff的一些参数
-i 忽略大小写
-b 忽略空格的数量
-u 统一的显示比较的信息,用以生成patch文件,一般可以用来作为补丁,实际上就是把比较信息重定向到patch文件
7 文本处理
1 删除某个关键字
tr -d 关键字 < 文件名
2 转换大小写
tr 'a-z' 'A-Z' < 文件名
7 文本的搜索替换
命令sed用来实现文本的替换功能,其内部实现的是一个正则表达式
1 sed 's/linux/unix/g' 文件名
那么这个命令就是把文本里面的linux替换为unix,g的意思是如果一行有多个linux则全部替换
2 sed '1,50s/linux/unix/g' 文件名
那么这个命令就是把1~50行里面的linux替换为unix,g的意思是如果一行有多个linux则全部替换
3 sed -e 's/linux/unix/g' -e 's/haha/fuck/g' 文件名
那么这个命令就是实现多个同时替换,把所有linux替换为unix,haha替换为fuck
4 sed -f sededit 文件名
这个命令就是说如果我们很厂用到某个命令,那么我们把这个命令写道sededit文本里面,那么每次调用-f sededit就比较方便
Linux基本配置和管理 3 ---- Linux命令行文本处理工具的更多相关文章
- Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向
1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...
- Linux基本配置和管理 4 ---- Linux系统启动详解
1 系统启动的流程 BIOS -> MBR+boot code -> 执行引导程序: GRUB -> 加载内核 -> 执行init -> 运行runlevel 2 启动详 ...
- Linux网络——配置网络之iproute家族命令
Linux网络——配置网络之iproute家族命令 摘要:本文主要学习了iproute家族用来配置网络的命令. ip命令 ip命令用于查看和管理IP地址.接口.路由.隧道等.用来取代ifconfig命 ...
- Linux网络——配置网络之ifconfig家族命令
Linux网络——配置网络之ifconfig家族命令 摘要:本文主要学习了ifconfig家族用来配置网络的命令. ifconfig命令 ifconfig命令用来显示或设置网络接口信息,设置只是临时生 ...
- gcp – 源于CP的高级命令行文件拷贝工具
作者:linux 出处:http://linux.cn/thread/11868/1/1/ gcp – 源于CP的高级命令行文件拷贝工具 几周前,我们讨论了高级拷贝(修改于cp命令,让其可以显示复制进 ...
- Linux文件和目录管理常用重要命令
一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝 ...
- Linux防火墙配置与管理(16)
防火墙指的是一个由软件和硬件设备组合而成.在内部网和外部网之间.专用网与公共网之间的边界上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intra ...
- Linux命令行文本处理工具
关键字搜索: grep 关键字 指定文件 -i 搜索时忽略大小写 -n 显示结果所在行 -v 显示不包含关键字的行 基于列的文本处理: cut -d: -f1 /etc/passwd -d ...
- Linux基本配置和管理 1---- Linux网络基本配置
1 IP编址 1 IP编址是一个双层的编址方案,一个IP编址标识一个主机(或一个网卡接口) 2 现在应用最为广泛的是ipv4,已经开始逐步香ipv6切换 3 ipv4地址为32位,ipv6为128位 ...
随机推荐
- 中级Perl第二章习题
2. 4. 1. 习题1 [15 分钟] 写一个程序从命令行取一个文件清单, 然后用grep 把那些文件大小在1000 字节以内的文件找出来.用map 把这个清单里的每个字串前加四个空格并在 字串后面 ...
- 自构BeanHandler(用BeansUtils)
class BeanHandler<T> implements ResultSetHandler<T>{ private Class<T> clazz; publi ...
- php之框架增加日志记录功能类
<?php /* 思路:给定文件,写入读取(fopen ,fwrite……) 如果大于1M 则重写备份 传给一个内容, 判断大小,如果大于1M,备份 小于则写入 */ class Log{ // ...
- 使用jQuery实现跨域提交表单数据
我们在WEB开发中有时会遇到这种情况,比如要从A网站收集用户信息,提交给B网站处理,这个时候就会涉及到跨域提交数据的问题.本文将给您介绍如何使用jQuery来实现异步跨域提交表单数据. 在jQue ...
- 用Apache实现一个ip虚拟多个web站点
如何用Apache实现一个ip虚拟多个web站点? 首先添加虚拟的服务器名 <virtualhost www.xxx.com:80="">DocumentRoot d: ...
- shell排序算法
今天看<The C Programming Language>的时候看到了shell排序算法, /* shellsort: sort v[0]...v[n-1] into increasi ...
- 项目任务管理(TaskMgr)设计篇
为什么使用void FilllXX(TypeA pParm1, TypeB pParm2) 应用场景色:void FillXX的好处是可以不用关心实例情况:如果在方法体中需要一个实例,而方法体只知道基 ...
- CMD模块定义规范
CMD 模块定义规范 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规 ...
- 符合搜索引擎SEO规则的HTML代码
实话说,部落在有时候,也经常会修改一下自己的主题,当然,很多时候,对自己修改过后的主题,会通过查看源代码的方式,来查看自己HTML代码,很多时候,也没有去刻意对代码进行符合搜索引擎SEO规则的优化,而 ...
- [BZOJ 2007] [Noi2010] 海拔 【平面图最小割(对偶图最短路)】
题目链接:BZOJ - 2007 题目分析 首先,左上角的高度是 0 ,右下角的高度是 1.那么所有点的高度一定要在 0 与 1 之间.然而选取 [0, 1] 的任何一个实数,都可以用整数 0 或 1 ...