【linux_笔记】Linux文本管理命令

学习资源来自:www.magedu.com

学习记录过程中难免出现错误,如有发现,还望大神们指出。

示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考。


文本查看命令:cat、tac、more、less、head、tail、

    cat:连接并显示文本文件(按参数顺序逐个显示所有文本文件)
        -n:显示行号(与文件内容无关)
        -E:显示每一行的行结束符($)
        示例:cat /etc/issue
            cat /etc/fstab
            cat /etc/issue /etc/fstab    ―― 连接并按顺序显示issue和fstab
            cat -n /etc/issue    
            cat -E /etc/issue    ―― linux文本文件行结束符是$,Windows文本文件行结束符是$+回车符

    tac:反向显示cat显示的内容
        tac /etc/issue

    命令行满屏时翻页操作:
        1、使用Shift+PageUp和Shift+PageDown实现上一页下一页查看(可以翻的页数是有限的)
            cat -n /etc/rc.d/rc.sysinit ―― 900多行,只能向上查看有限行,其它丢失
        2、more、less分屏显示:
            more:向后翻,文件显示完毕直接退出。
                进入界面后的操作方式和man差不多(b上一页,enter下一行)
            more /etc/rc.d/rc.sysinit
            less(最常用):文件显示完毕提示end但不退出,man的操作方式less都支持。  
 
    查看文件的前几行或后几行(空白行也算一行):
        head:查看文件前n行
        tail:查看文件后n行
            -n:默认选项,支持指定显示多少行,n的默认值是10
            -f:tail专用选项,查看一个文件后并不退出(ctrl+c退出),而是等待显示后
                续其它进程向里面追加进来的新内容(查看文件的实时状态――监控文件运行)
        示例:
            head /etc/inittab ―― 显示前十行
            head -n 1 /etc/inittab ―― 显示前一行
                linux中支持:head -1 /etc/inittab ―― 显示前一行
                unix中不支持
            tai -5 /etc/inittab ―― 显示后五行
            cp /etc/inittab /tmp/
            tail -f /tmp/inittab
                (通过ctrl+f1~f6再开一个客户端,在里面使用nano在inittab中添加一行内容
                再重新返回最初的客户端就会看到屏幕显示多了刚添加的内容)
            
文本处理命令:cut、join、sed、awk

    cut:剪切,显示部分字段(不影响源文件,只对输出的内容进行处理)。
        -d:指定分隔符(默认是空格)
        -f:指定显示第几个字段
            -f1:表示显示第一个字段
            -f 1,3:表示显示第一个和第三个字段
            -f 1-3:表示显示第一个到第三个字段
        示例:
            cat /etc/passwd
            cut -d : -f1 /etc/passwd ―― 以":"为分隔符显示第一个字段
            cut -d : -f1,7 /etc/passwd
            cut -d : -f1-3 /etc/passwd
            
文本排序命令:

    sort:排序,根据字符在asc码表中的次序进行排序(默认升序)
        (不影响源文件,只对输出内容进行处理)。
        -n:按数值排序
        -r:降序排列
        -t:指定分隔符
        -k:指定特定字段进行排序
        -o:去除重复行显示
        -f:排序时忽略字符大小写
    示例:
        cat /etc/fstab
        sort /etc/fstab
        nano sort.test
            456
            67
            111
            232
        cat sort.test
        sort sort.test ―― sort并不是比较数值大小进行排序而是按自左向右的顺序对字符进行排序
        sort -n sort.test ―― 按数值
        sort -r sort.test ―― 逆序
        sort -n -r sort.test ―― 按数值逆序排序
        cat /etc/passwd
        sort /etc/passwd
        sort -t: -k3 /etc/passwd ―― 以":"为分隔符,按第三个字段进行排序
        sort -t: -k3 -n /etc/passwd ―― 按数值进行排序
        
        nano sort.test
            在末尾添加一行111
        sort -n sort.test ―― 两个111相邻显示
        sort -n -u sort.test ―― 去除重复行显示
        
uniq:报告或者去除重复行(相邻并且一样的行)
    (linux中同样的两行只有相邻才会被认为是重复行)
    -d:只显示重复的行
    -D:显示所有重复的行(不大用)
    -c:去除重复的行,并显示每行一共重复了几次
    示例:
        uniq sort.test ―― 两个111都显示
        nano
            在456后边再加一行456
        uniq sort.test ―― 只显示一个456
        uniq -d sort.test
        uniq -D sort.test
        uniq -c sort.test   

文本统计命令:
    wc(word count):可以统计一个文件中一共有多少行、有多少个单词、以及有多少个字符(包括空格)
    -l:只显示行数
    -w:只显示单词数
    -c:只显示字符数
    -L:显示最长的一行包含的字符数
    示例:
        wc /etc/fstab
        wc -l /etc/fstab
        wc -w /etc/fstab
        wc -c /etc/fstab
        wc -L /etc/fstab
        
字处理命令:
    tr:转换或删除字符
    tr [OPTION] ... SET1 [SET2]
        -d:删除出现在字符集中的所有指定字符
    示例:
        tr 'ab' 'AB':把字符集ab替换成字符集AB(一一对应)
            abc + 回车
            able + 回车
            accout + 回车
            begin + 回车
            ctrl + c ―― 退出
            
        将一个文件中的内容全部替换:
            tr 'ab' 'AB' < /etc/passwd ―― 输入重定义项
            tr 'a-z' 'A-Z' < /etc/passwd ―― 把所有的小写字母都换成大写字母
        tr -d 'ab'
            helloba
            hellob
            ……
            ctrl+c





你可能感兴趣的:(文本统计命令,文本排序命令,文本查看命令,字处理命令)