zoukankan      html  css  js  c++  java
  • 11.模仿下more命令

    前言

        cat能够查看文件,如果文件内容很多,一cat下满屏幕都是字,看起来多费劲,今天尝试下分段显示。

    正文

        Vi的编辑模式太恶心了,先安装个编辑器,敲代码也爽一点。

    1. 安装vim(vi的升级版,支持关键字高亮显示)

    1.查看是否安装vim

    which vim

    如果安装了,返回安装的路径

    which详解:http://www.cnblogs.com/peida/archive/2012/11/08/2759805.html

    2. 安装vim

    yum search vim    

    注意版本选择

    yum intasll vim-enhanced.xxx.xxx

    1. c模拟

    1.思路

    fgets函数,一次读取一行,读完后,"针往下移动一行",注意点如下:

    a.读取的字符保存到一个字符数组中

    b.需要指定字符数组的大小

    c.这种读法可以通过feof(FILE *fp)来判断是否读完

     

    char chs[定义一个长度];

    fgets(chs,一次读取多少字节,fp);

    函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,

    已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符

     

    2.代码

    #include <stdio.h>

    #include <stdlib.h>

    int main(int argc,char *argv[])

    {

     

        FILE *fp=fopen("testfile","r");

        char chs[100];

        fgets(chs,100,fp);

        int i=0;

        int from=0;

          

        char *get_arg=argv[1];

        if(argc==2 && *get_arg=='+')

        {

            get_arg++;

            from=atoi(get_arg)-1;

        }

          

    while(!feof(fp))

        {

            if(i>=from)

             printf("%s",chs);

            fgets(chs,100,fp);

            i++;

        }

        fclose(fp);

        return 0;

     

    }

    1. linuxmore命令

    +n 从笫n行开始显示

    -n 定义屏幕大小为n

    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

    -c 从顶部清屏,然后显示

    -d 提示"Press space to continue'q' to quit(按空格键继续,按q键退出)",禁用响铃功能

    -l 忽略Ctrl+l(换页)字符

    -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

    -s 把连续的多个空行显示为一行

    -u 把文件内容中的下画线去掉

     

    如:more +3 tetsfile.txt

     

    1. 补充:组合命令

      命令1 | 命令2

      | 代表前者执行的结果 作为后者命令的参数

      ls | more -3

      按空格显示3行,按回车显示一行

       

      如:ps –ef | grep tomcat

      grep详解:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

    尾声

        不知不觉又到周五了!忙碌的周末又开始了! 

    在人生中,赢家并不是那些有优秀基因的人,或是那些最有天分的人,而是那些最不屈不挠的人!当他们跌倒了,他们总是不断的爬起来,继续做,继续做。 no pain no gains (^ _ ^) !!
  • 相关阅读:
    Appium + Python自动化
    Appium + python自动化
    基于python的request库,模拟登录csdn博客
    利用uiautomator实现Android移动app启动时间的测试
    JavaScript 闭包
    Vue.js 参考资料汇总
    JVM垃圾回收策略
    JVM内存分配策略
    synchronized底层原理
    HTTPS加密原理
  • 原文地址:https://www.cnblogs.com/fatsnake/p/5763663.html
Copyright © 2011-2022 走看看