笔记–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)
wutianyouwutianyou
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相关推荐

  • 基于httpd服务实验构建网站域名DNS解析

    具体组成简图 实验前期准备 httpd的安装 后期补充 做httpd 服务器的IP 为: 172.18.148.62 安装DNS域名解析包 bind yum install bind 修改DNS 的基础配置文件 /etc/named.conf   关闭所有的虚拟机的 防火墙 iptables -F CENTOS7 的系统关闭selinux sete…

    2017-04-16
  • 计算机起源与Linux简述

    什么是计算机?  计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。 它由硬件系统和软件系统组成,没有安装任何软件的计算机被称为裸机。硬件系统由运算器,控制器,存储器,输入设备,输出设备几部分组成;…

    Linux干货 2017-03-29
  • shell编程之函数

    函数:函数function是由若干条shell命令组成的语句块,实现代码 重用和模块化编程      1)函数的定义: 可在 命令行,脚本的一部分,只有函数的单独文件 中定义        两部分组成:函数名和函数体;函…

    Linux干货 2016-08-21
  • 马哥教育网络班20期 第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash #the purpose of program : # #08/11/2016  PATH=/bin:/sbin:…

    Linux干货 2016-08-15
  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • vsftpd相关应用解析

    FTP(File Transfer Protocol)文件传输协议 FTP 是 TCP/IP 协议组中的协议之一。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称…

    2017-06-06