笔记–8.4 文本处理工具,正则表达式

cat 查看文本文件

命令功能:

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

  -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

  -E :将结尾的断行字符 $ 显示出来;

  -T :将 [tab] 按键以 ^I 显示出来;

  -v :列出一些看不出来的特殊字符 grep -v '自己设定'

  -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;

  -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

  -s: 当遇到有连续两行以上的空白行,就代换为一行的空白行

rev:cat所显示的内容每行内倒着显示


tac 作用等同于cat,不过是倒叙显示cat的内容

  优点:如果行数太多,用cat在屏幕上不会完整显示,需要配合more和less,假如我们所要看的内容在文本的后面,使用tac就会方便很多了

more:分页查看文件 more [OPTIONS…] FILE… 只能向下翻,不能向上翻·空格键:代表向下翻一页;

·Enter :代表向下翻一行;

·/字符串 :在显示的内容中,向下搜寻“/”后面的这个关键词;

·q :代表立刻离开 more ,不再显示该文件内容。

less :一页一页地查看文件或STDIN 输出,支持向上,向下翻页

·空格键 :向下翻动一页;

·pagedown:向下翻动一页;

·pageup :向上翻动一页;

·/字符串 :向下搜寻『字符串』的功能;

·?字符串 :向上搜寻『字符串』的功能;

·n :重复前一个搜寻 (与 / 或 ? 有关!)

·N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

·g :前进到这个资料的第一行去;

·G :前进到这个数据的最后一行去 (注意大小写);

·q :离开 less 这个程序;

head 取出文件前n行,默认10行 

   -c #:指定获取前# 字节

   -n #:指定获取前#行 

tail 取出文件后n行,默认10行 

   -c #: 指定获取后# 字节

   -n #: 指定获取后#行 

   -f: 跟踪显示文件新追加的内容, 常用日志监(/var/log/messages 随时会有数据写入,想让该文件有数据写入时就立刻显示到屏幕上, 就利用 -f 这个选项,他可以一直侦测/var/log/messages 这个文件,新写入的数据都会被显示到屏幕上。 crtl-c 离开

    

练习:显示 /etc/man_db.conf 的第 11 到第 20 行

blob.png

cut 在指定的行中,按列切割,取出所需的字段

  -d :  指明分隔符,默认tab

  -f :

   #:  第# 个字段

   #,#[,#] :离散的多个字段,例如1,3,6

   #-# :连续的多个字段,  例如1-6

   混合使用:1-3,7

 -c 按字符切割

 –output-delimiter=STRING

  显示文件或STDIN 数据的指定列

blob.png

  

wc [- – lwm]

-l :仅列出行;

-w :仅列出多少字(英文单字);

-m :多少字符;

练习

知道使用 last 可以输出登入者,但是 last 最后两行并非账号内容,那么请问,该如何以一行指令串取得登入系统的总人次?

blob.png

grep 

–color=auto:  对匹配到的文本着色显示;

-v: 显示不能够被pattern 匹配到的行;

-i: 忽略字符大小写

-n:显示匹配的行号

-c: 统计匹配的行数

-o: 仅显示匹配到的字符串;

-q:  静默模式,不输出任何信息

-A # :after,  后#行 行

-B #: before,  前#行 行

-C # :context,  前后各#行 行

-e :实现多个选项间的逻辑or 关系    grep –e ‘cat ’ -e ‘dog’ file

-w :整行匹配整个单词

-E :使用ERE

blob.png

blob.png

sort把整理过的文本显示在STDOUT ,不改变原始文件  sort [options] file(s)

-r 执行反方向(由上至下)整理

-n 执行按数字大小整理

-f 选项忽略(fold )字符串中的字符大小写

-u 选项(独特,unique )删除输出中的重复行

-t c 选项使用c 做为字段界定符

-k X 选项按照使用c 字符分隔的X

blob.png

uniq:从输入中删除重复的前后相接的行   uniq [OPTION]… [FILE]…

-c:  显示每行重复出现的次数;

-d:  仅显示重复过的行;

-u:  仅显示不曾重复的行;

连续且完全相同方为重复

  常和sort  命令一起配合使用:

sort userlist.txt | uniq -c

blob.png

英文大小写

[:alpha:]

英文小写 [:lower:]
英文大写 [:upper:]
数字 [:digit:]
数字+英文大小写 [:alnum:]
space,tab 两键 [:blank:]
键盘上控制键 CR, LF, Tab, Del.. [:cntrl:]
除了space和tab外的所有键 [:graph:]
标点符号 [:punct:]

blob.png

blob.png

blob.png

字符匹配:

. : 匹配任意单个字符;

[] :匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

blob.png

blob.png

blob.png

位置锚定:定位出现的位置

^ :行首锚定,用于模式的最左侧

$ :行尾锚定,用于模式的最右侧

^PATTERN$:  用于模式匹配整行

^$: 空行

^[[:space:]]*$  :空白行

\< 或 \b :词首锚定,用于单词模式的左侧

\<PATTERN\>:匹配整个单词

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

# grep -n '0*' regular_express.txt

# grep -n '00*' regular_express.txt 

# grep -n '000*' regular_express.txt  

blob.png

blob.png

blob.png

blob.png 

原创文章,作者:wutianyou,如若转载,请注明出处:http://www.178linux.com/29521

(0)
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相关推荐

  • linux基础学习(数组、字符串变量处理)

    2016-08-22 授课内容: 数组 高级字符串操作 一、数组   变量:存储单个元素的内存空间   数组:存储多个元素的连续的内存空间,相当于多个变量的集合。   数组名和索引   索引:编号从0开始,属于数值索引   bash的数组支持稀疏格式(索引不连续)   …

    Linux干货 2016-08-24
  • bash脚本编程

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell;分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i loginSum=0; declare -i nologinSum=0; for x in `cat /etc/passwd|cut -d: -f 7` do if [ “/sb…

    Linux干货 2017-10-31
  • llinux常用命令及bash基本特性

    一、常用的文件和目录管理命令 1. pwd命令:用来显示当前的工作目录 语法格式:直接输入pwd回车显示当前的工作目录 示例:用pwd命令显示当前的工作目录 [root@suyiwen ~]# pwd /root 2. mkdir命令:用来创建目录文件 语法格式:mkdir [OPTION]… DIRECTORY…常用option: -m,用来指定目录的权限…

    Linux干货 2018-03-11
  • 第一周作业

    1、描述计算机的组成及其功能。 计算机的基本功能:数据处理、数据存储、数据传输、控制; 计算机中的数据:包含计算机所能处理的给中对象,如数值、字符、图形、图像、声音、视频等。 计算机的所有功能都是通过指令实现的。 指令:是计算机硬件能直接识别并执行的命令,不同种类的计算机通常有着不同的指令编码,一台计算机的所有指令集合称之为指令系统。若干条指令组成的一个指令…

    Linux干货 2016-12-12
  • 常用的MySQL数据库备份

    常用的MySQL数据库备份方式 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可…

    2016-10-01
  • zabbix报警信息提取

    zabbix报警信息提取     在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发或是对其他监控软件进行二次开发之类),在这种需求基础…

    Linux干货 2015-12-19