【Linux 入门笔记】文本处理工具

来源:互联网 发布:闲鱼交易网络课程账号 编辑:程序博客网 时间:2024/06/05 23:03
文件浏览
  • cat 查看文件内容
  • more 以翻页形式查看文件内容
  • less 以上下翻页形式查看文件内容
  • head 查看文件的开始 10 行,或指定行数
  • tail 查看文件的结尾 10 行,或指定行数

grep 基于关键字进行文本搜索
  • -i 在搜索时忽略大小写
  • -n 显示结果所在行数
  • -v 输出不带关键字的行,排除选项(去翻操作)
  • -Ax 在输出的时候包含结果所在行之后的指定x行数 --after
  • -Bx 在输出的时候包含输出结果前x行 -B3 --before
  • 举例:
    • grep 'linuxcast' /etc/passwd 在/etc/passwd 中搜索linuxcast项
    • find / -user linuxcast | grep Video

cut 基于列处理文本
  • -d 指定分隔符
  • -f 指定输出列
  • -c 基于字符进行切割 cut -c2-6 /etc/passwd 只显示第2到第6个字符
  • 举例:
    • cut -d: -f1 /etc/passwd 修剪指定列,显示passwd到位第1列,指定分隔符是‘:’
    • grep linuxcast /etc/passwd | cut -d: -f3 输出linuxcast的信息,指定分隔符是:,并显示第3列

wc 文本统计
  • -l 只统计行数
  • -w 只统计单词
  • -c 只统计字节数
  • -m 只统计字符数

sort 对文本内容进行排序
  • -r 进行倒序排序
  • -n 基于数字进行排序
  • -f 忽略大小写
  • -u 删除重复行
  • -t c 使用c作为分隔符分割为列进行排序
  • -k x 当进行基于指定字符分隔为列的排序时,指定基于那个列排序
unip 用以删除重复的相邻行 cat linux | uniq

diff linux linux-new 比较两个文件的区别
  • -i 忽略大小写
  • -b 忽略空格数量的改变
  • -u 统一显示比较信息[一般用以生成patch文件]
    • diff -u linux linux-new > final.patch

aspell 检查英文拼写

  • aspell check file
  • aspell list < file

tr 用来处理文本内容

  • 删除关键字
    • tr -d 'apple' < linux //以重定向的形式
  • 转换大小写
  • tr 'a-z' 'A-Z' < linux

sed 用以搜索并替换文本

  • sed 's/linux/unix/g' file:用unix替换文件file中的linux关键字,/g包含正行
  • sed '1,50s/linux/unix/g' file:替换1到50行的linux
  • sed -e 's/linux/unix/g' -e 's/abc/bcd/g' file:同时执行多个替换项
  • sed -f sededit.sh file:执行sededit.sh文件中的选项

文本内容显示:显示第5到第10行

  • sed -n '5,10p' filename
  • head -n 10 filename | tail -n +5        # 显示前10行中内容中,从第5行开始的所有行
  • cat filename | tail -n +5 | head -n 6  # 从第5行开始显示,一共取前6行

0 0