zoukankan      html  css  js  c++  java
  • Linux文件过滤及内容编辑处理

    学习一下Linux文件过滤及内容编辑处理,暂时记录部分内容,后续补充。

    纯文本编辑器vi/vim

    vim是从vi发展出来的一个文本编辑器,但发现到现在已经不仅仅是一个文本编辑器了,还具有代码补全、编译等适用于编程的功能出现。vim具有三种模式,分别为命令模式(Command mode)、编辑模式(Insert mode)和底行模式(Lastline mode),其三者存在如下的转换方式。

    如下图所示,使用vim命令进入命令模式后,有i、a、o三种方式进入编辑模式,其中i代表光标停留在当前光标,a代表往当前光标后移动一位光标,o代表换下行移动光标,暂时只了解这三种。

    i:insert

    a:append

    o:

    另外一个是底行模式下命令,除了wq外,还有wq!、q、q!等,其具体意思如下:

    (1)wq,write and quite,保存并退出

    (2)wq!!是强制的意思,代表强制保存并退出

    (3)q 退出不保存

    (4)q! 强制退出不保存

    (5)set nu 显示行号

    (6)set nonu 不显示行号

    vim还有一些基本常见命令,记录如下,不区分模式。

    进入行首行尾

    为了方便更好的理解vim命令,使用echo命令先将部分文本写入到test.txt文件,并换行输出。

    按$进入当前行尾,按0进入当前行首,具体操作体会。

    文件开头结尾

    按gg进入文件开头,数字+gg进入第多少行,按G进入文件尾部,如图按下G后进入到了31行。

    搜索

    /+搜索内容为向下搜索,继续向下搜按n,反向按N

    ?+搜索内容为向上搜索,继续向上搜按n,反向按N

    替换

    :%s/A/B/g,s代表替换,A是被替换的元素,B是替换后的元素,g是全局替换的意思,g换成数字代表只替换第数字代表的列,其中斜线可以用其他分隔符,如使用#也可以实现。

    如下图使用了%s/chaolin/pengfei/g命令后变成如下结果。

    :M,Ns/A/B/g,这个代表替换M~N行的内容,跟上面类似,只是指定行替换内容。

     如下图所示将1~10行将yang修改为YANG。

    删除或剪切

    删除或剪切单行按dd,删除多行按数字+dd。

    如下图使用25gg先去到25行,然后使用25dd删除了25行后面的行。

    撤销返回

    按u就可以返回。

    复制粘贴

    单行复制按yy,p粘贴,多行复制数字+yy,p粘贴,粘贴时光标位置移动到要粘贴位置的前一行上。

    如下图将光标移动到第30行按yy,然后将光标在第30行上按p,就自动粘贴到下一行上。

    cat命令

    cat命令就是查看文件内容命令,cat - concatenate files and print on the standard output,连接文件打印标准输出。如果想显示行号,使用参数-n。

    more命令

    more是可以分页查看文件内容命令,按回车往下走,按空格就是翻页走,不能回着看,按q退出。

    less命令

    less也是可以分页查看文件内容得命令,按回车往下走,按空格就是翻页走,可以回着看,按q退出。

    head命令

    输出文件的头部,默认显示10行,可以使用参数-n+数字来表示自定义行数。

    tail命令

    输出文件的尾部,也是默认显示10行,可以使用参数-n+数字来表示自定义行数,也可以使用参数-f显示文件尾部实时更新,即tail -f 文件名这个在MES中经常使用查看log实时变化。

    如另外连接linux后,使用echo hello >>test.txt命令不断往test.txt文件尾部添加hello后,原来xshell窗口在使用tail -f test.txt命令后呈现的结果如下图。

    不断append元素到文件结尾

    tail -f test.txt后可以看到实时变化

    tac命令

    跟cat相反,倒过来显示文件内容,tac - concatenate and print files in reverse。

    如下图文件头尾颠倒着显示。

    rev命令

    反转显示每行内容,rev - reverse lines of a file or files,如下所示。

    总结

    Linux命令很强大,继续学习吧。

    参考博文:

    (1)https://www.cnblogs.com/yangjig/p/6014198.html

    (2)https://www.cnblogs.com/youngchaolin/p/10962089.html#_label5

  • 相关阅读:
    POJ 3278 Catch That Cow (附有Runtime Error和Wrong Answer的常见原因)
    POJ 2251 Dungeon Master (三维BFS)
    HDU 1372 Knight moves
    [Ubuntu] <uptime>命令
    【C】哈夫曼编码
    【C++】开辟数组未初始化问题
    免费下载IEEE论文
    随机换装
    BFS解迷宫问题(Go实现)
    DFS解迷宫问题(Go实现)
  • 原文地址:https://www.cnblogs.com/youngchaolin/p/11296784.html
Copyright © 2011-2022 走看看