寒假-6-mb5c89a5f66503d的博客

Windows 21NN.CN 3个月前 (08-14) 4次浏览 未收录 0个评论 扫描二维码

单词

REGEXP n. 正则表达式;表达式对象

regular expressions 正则表达式;

issue n. 问题;流出;期号;发行物vt. 发行,发布;

文本处理grep 文本过滤工具 patterngrepegrepfgrep(不支持正则表达式)grep pattren …..–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-F 相当于fgrep 不支持正则表达式注意:默认除了字母+数字或者字母+下划线算作单词之外

正则表达式REGEXP 处理文本内容由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配功能程序支持:grep sed awk vim less nginx varnish等分类基本正则表达式 :BRE扩展正则表达式: ERE grep -E ,egrep

正则表达式引擎
        采用不同算法,检查处理正则表达式的软件模块
        PCRE Perl Compatible Regular Expreessions   perl语言
元字符分类:
            字符匹配,匹配次数,位置锚定,分组
man 7 regex

注意 通配符里面只是匹配文件名 不能处理文本中文字

基本正则表达式元字符字符匹配. 匹配任意单个字符[] 匹配指定范围内的任意单个字符[^] 匹配指定王伟外的任意单个字符[:alnum:] 字符和数字[:alpha:] 代表任何英文大小写字符即a-z A-Z[:lower:] 小写字母[:upper:] 大写字母[:blank:] 空白字符 空格和制表符[:space:] 水平和垂直的空白字符[:cntrl:] 不可打印的控制字符 退格 删除 警铃[:digit:] 十进制说数字[:xdigit:] 十六进制数字[:graph:] 可打印的非空白字符[:print:] 可打印字符[:punct:] 标点符号

匹配次数 用在要指定次数的字符后面,用于指定前面的字符要出现的次数匹配前面的字符人一次,包括0次贪婪模式:尽可能长的匹配.任意长度的任意字符\? 匹配其前面的字符0或1次+ 匹配其前面的字符至少1次{n} 匹配其前面的字符n次{m,n} 匹配前面的字符至少m次,至多n次{,n} 匹配前面的字符至多n次{n,} 匹配前面的字符至少n次

    grep -v "^[[:space:]]*$" f1 过滤空行。过滤空格 teb键形成的空行

位置锚定:定位出现的位置^ 行首锚定,^a $ 行尾锚定 b$^pattern$ 匹配整行^$空行^[[:space:]]*$ 空白行\<或者\b 词首锚定 \<root\>或者\b 词尾锚定 bash\>\<pattern\>匹配整个单词

分组()将一个或多个字符捆绑在一起,当做一个整体进行处理(root)+分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为\1 \2 \3 从左括号开始算

\1   表示从左侧起第一个左括号以及与之匹配右括号之间的模式所***匹配到的字符***
    \(string1+\(string2\)*\)
        \1  string1\+\(string2\)*
        \2  string2 
向后引用:
或者  \|
    a\|b    a或b
    C\|cat  C或cat
    \(C\|c\)at  Cat或cat

扩展正则表达式:egrepegrep = grep -E 次数匹配:匹配前面的字符人一次,包括0次贪婪模式:尽可能长的匹配.任意长度的任意字符? 匹配其前面的字符0或1次

匹配其前面的字符至少1次{n} 匹配其前面的字符n次{m,n} 匹配前面的字符至少m次,至多n次

锚定^ 行首锚定,^a $ 行尾锚定 b$\<或者\b 词首锚定 \<root\>或者\b 词尾锚定 bash\>

分组 ()向后引用 \1 \2

egrep -o “\”

扩展正则表达式和基础正则表达式主要是在于大部分的去\ifconfig ens33 |egrep -o “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-50]).){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-50])\>”192.168.220.133255.255.255.0192.168.220.255

有些命令是用 扩展

取基名echo /etc/rc.d/init.d/ |egrep -o “[^/]/?$”echo /etc/rc.d |egrep -o “(./.)” | egrep -o “.*/”

basename取基名dirname

文本编辑器vi visual Interface 文本 ASDII Unicode文本编辑种类行编辑器 sed全屏编辑器 nano vivim – Vi Improved其他编辑器:gedit 一个简单的图形编辑器gvim 一个Vim编辑器的图形版本

vim 一个模式编辑器三种主要模式:

    命令模式normal:默认模式,移动光标,剪切/粘贴文本
    插入或编辑模式insert:修改文本
    扩展命令模式extended command:保存,退出等

Ese键:退出当前模式
        总是返回命令模式    

打开文件 vim file 
            +数字 移到第数字行的行首
            +/Pattern 打开文件后,直接让光标处于第一个被pattern匹配到的行的行首
            -b file 二进制打开
            -d file1 file2 比较多个文件
            -m file  只读打开文件
        ex file 或者 vim -e 直接进入ex模式
    如果该文件存在,文件被打开并显示内容
    若果文件不存在,当编辑后第一次存盘是创建它

编辑文件
    切换到命令模式:
                    i   光标不动
                    I   光标行首
                    o   向上插入空白行并居于行首
                    O   向上插入空白行并居于行首
                    a   光标后移
                    A   光标行尾

关闭文件
    扩展模式:
    按:进入扩展模式

        :r  otherfile 复制其他文档内容到现打开文件
        :q  不做修改的时候所用的退出
        :q! 做了修改不保存的强制退出
        :wq 做了修改保存并退出
        :w  otherfile 将当前文件内容写入另外一个文件
        :!command 执行命令
        :r!command 读取命令的输出

echo -e “\e[1;31mred\e[0m” 颜色 red是有颜色的字符串在文本中是^[[1;31mfjiejf^[[0m 其中^[ 由ctrl+v+左中括号

命令模式下的光标跳转字符间跳转:h 左l 右j 下k 上numCOMMAND 3h 左移三位单词间跳转:w 下一个单词的词首 e 当前或下一个单词的词尾b 当前或前一个单词的词首numCOMMAND 3w 下三个单词词首 空格为一个单词当前页面跳转:H 页首 heading M 页中间行 middleL 页底 low 行首行尾跳转:^ 行首的第一个非空白字符0 行首$ 行尾行间移动:#G 跳到#行G 最后一行1G,gg 第一行句间跳动: .空格 以及空行为句子分隔符)下一句( 上一句段落跳动: 空行为段落分隔符} 下一段{ 上一段

命令模式下的操作字符操作x 删除光标字符,实际为剪切 按p粘贴numx 删除光标起始处开始的num个字符xp 交换光标所在处的字符及后面字符的位置~ 转换大小写J 删除当前行后的换行符替换命令 r replacer 替换光标所在处的字符R 切换成REPLACE模式,可以连续替换删除命令:d:删除命令,可结合光标跳动字符,实现范围删除d$ 删除到行尾 d^ 删除到非空行首d0 删除到行首dwdedb

    dd  删除光标所在行
        numdd   多行删除,删除num行
    D   从当前光标位置一直删除到行尾,留空行=d$
复制命令:y yank
        y:复制,行为相似与d命令
        y$  
        y^  
        y0  
        yw
        ye
        yb
    yy  复制行
        #yy 复制多行
    Y 复制整行
改变命令 d命令再增加一个功能切换到插入模式
        详情看一下d命令
特殊      
10istring[ESC] 粘贴string10次
<start position><command><end position>
Command: 
        y复制  d 删除  gU 变大写  gu变小写
 eg:
    0y$====0>先到行首
            y>从这里开始拷贝
            $>拷贝到行尾

    ye===从当前位置拷贝到本单词的最后一个字符

扩展命令模式:地址定界:start_point,end_pointcommandnum 移到第几行num1,num2 选中num1行到num2行num1,+num2 从num1开始,加上num2行 2,+3 ===表示2——5行. 当前行$ 最后一行:.,$-1 当前行到倒数第二行% 全文,相当于1,$

    /pattern1/,/pattern2/
    从第一次被pattern1模式匹配到的航开始,一直到第一次陪匹配到的行结束
    #,/pattern /行首到匹配到pattern
    /pattern/,$  匹配到pattern 到行尾
    ***使用方法:后面跟一个编辑命令
            d   y     w file 将范围内的行另存至指定的文件中
                      r file 在指定位置插入指定文件中的所有内容

    查找---与man相似
        /PATTREN  从当前光标所在处向文件尾部查找
        ?PATTERN  从当前光标所在处向文件首部查找
        N
        n
    查找并替换
    s 在扩展模式下完成查找替换操作
        格式:s/要查找的内容/替换为的内容/修饰符
            要查找的内容:可使用模式
            替换为的内容:不能使用模式,但可以使用后向引用\1  \2 还可以
            使用& 引用前面查找时查到的整个内容

                修饰符:
                    i   忽略大小写
                    g   全局替换,默认每行只替换第一次出现
                    gc  全局替换,每次替换前询问
            查找替换中的分隔符可以替换为其他字符
              s@/etc@/var@g
              s#/boot#/#i
                :%  s#/boot#/#i 全文 
                :1,10s#/boot#/#i 1-10行 
                准确单词替换 s#\(login\)#sbsb#g 利用分组表达式
                :%s/xyz/&er/g  xyz 被xyzer替换
            注意:不标注行默认光标所在行,要确定搜索的行

命令模式撤销u 撤销最近的更改numu 撤销之前num次更改U 撤销光标所在行所有此行的更改,不过前提是光标不能离开过这行Ctrl+r 重复上一次所撤销的动作. 重复上一个操作n. 重复上一次操作n次

命令模式vim中的寄存器即剪贴板有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同回话间共享一个进行复制,另一个进行粘贴寄存器名称a-z格式:”寄存器 放在数字和命令之间eg:3″tyy 表示复制3行到t寄存器中”tp 表示将t寄存器内容进行粘贴未指定,将使用命名寄存器有10个数字寄存器,用0-9表示,0存放最近复制的内容,1存放最近删除内容当新的文本变更和删除时,1转到2 ,2转到3 以此类推数字寄存器不能在不同回话共享

可视化模式允许选择的文本块v 面向字符V 面向行ctrl+v 转向面向块突出显示文字可被删除,复制,变更,过滤,搜索,替换

多文件模式vim file1 file2 file3:next 下一个 :prev 前一个:first 第一个:last 最后一个:wall 保存所有:qall 退出所有:wqall

使用多个窗口多问件分割vim -o/O file1 file2 …-o 水平分割-O 垂直分割窗口切换 Ctrl+w ARROW(上下左右箭头)单文件窗口分割Ctrl+w s

制定vim工作特性配置文件全局:/etc/vimrc个人:~/.vimrc扩展模式:当前的进程有效行号显示 set nu ===set number取消 set nonu ===set nonumber自动缩进启用 set ai禁用 set noai忽略字符大小写启用 set ic不忽略 set noic


本文:寒假-6-mb5c89a5f66503d的博客 本文链接:https://www.21nn.cn/xitong/windows/63534.html 本站所以图片、文章仅限用于学习和研究目的; 不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关。 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如有侵权请邮件与我们联系处理。i@ki4.cn
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址