美文网首页
Linux(17)命令行文本处理工具

Linux(17)命令行文本处理工具

作者: 极客列侬 | 来源:发表于2018-01-09 18:45 被阅读0次

    文本处理

    文件浏览

    cat    查看文件内容

    more    以翻页形式查看文件内容(只能向下翻页)

    less    以翻页形式查看文件内容(可上下翻页) 

    head    查看文件的开始10行(或指定行数)

    tail    查看文件的结束10行(或指定行数)

        基于关键字搜索

    命令grep 用以基于关键字搜索文本

    grep "xxx" 目标文件

    find /-user xxx | grep video 查找所有user 为xxx

    如:find / -user root 2> /dev/null | grep xxx

    查找所属用户时root 的并且把错误信息输出到垃圾回收里 关键字时xxx的信息

    文件中包含video的文件信息

    -i 在搜索时候忽略大小写

    -n 显示结果所在行数

    -v 输出不带关键字的行 (取反)

    -Ax 在输出的时候包含结果所在行之后的指定行数

    -Bx 在输出的时候包含结果所在行之前的指定行数

    基于列处理文本

    命令cut用以基于列处理文本内容

    cut -d: -fl /etc/passwd

    grep xxx /etc/passwd | cut -d: -f3

    -d 指定分割字符(默认是TAB)

    -f 指定输出的列号

    -c 基于字符进行切割

      cut -c2-6 /etc/passwd

        文本统计

    命令wc(word count)用以统计文本信息

    -l 只统计行数

    -w 只统计单词

    -c 只统计字节数

    -m 只统计字符数

      文本排序

      命令sort用以对文本内容进行排序

    -r 进行倒序排序

    -n 基于数字进行排序

    -f 忽略大小写

    -u 删除重复行

    -t c 使用c作为分隔符分割为列进行排序

    -k x  当进行基于指定字符分割为列的排序时,指定基于哪个列排序

      删除重复行

    命令sort -u 可以删除重复行  (不过会进行排序)

    命令uniq用以删除重复的相邻行

      文本比较

    命令diff用以比较两个文件的区别

    diff 文件1 文件2

    -i 忽略大小写

    -b 忽略空格数量的改变

    -u 统一显示比较信息(一般用以生成patch布丁文件)

    diff -u 文件1 文件2 >final.patch

      拼写检查

    命令aspell 用以显示检查英文拼写

    aspell check xxx

    aspell list < xxx

      tr命令(translate)用以处理文本内容

    删除关键字

    tr -d 'TMD' < xxx

    转换大小写

    tr 'a-z' 'A-Z' <目标文件

    搜索替换

    命令sed 用以搜索并替换文本

    sed 's/linux/unix/g' 文件 

    解释:搜索文件里所有linux替换成unix ,g的意思是如果有一行多个匹配一起替换

    sed '1,50s/linux/unix/g' 文件

    解释:只替换 1-50行

    sed -e 's/linux/unix/g' -e 's/nash/nash_su/g' xx

    解释:-e 同时替换多个

    sed -f sededit xxx

    解释:将常用指令存到 sededit里方便重复使用

    相关文章

      网友评论

          本文标题:Linux(17)命令行文本处理工具

          本文链接:https://www.haomeiwen.com/subject/zhxgnxtx.html