Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

Linux命令行文本处理工具

$
0
0

这是看Linuxcast的笔记

Linux命令行文本处理工具

基于关键字搜索

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

命令格式grep "关键字",并且通常和管道一起使用,如ls -l | grep "test". 以下是常用的参数

  • -i 在搜索的时候忽略大小写
  • -n 显示结果所在的行
  • -v 输出不带关键字的行
  • -Ax 在输出的时候包含结果所在行之后(after)的指定行数
  • -Bx 在输出的时候包含结果所在行之前(before)的指定行数

基于列处理文本

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

使用示例:cut -d: -f1 /etc/passwd,即用':'当成分割符,输出第一列,分割的是/etc/passwd文件, 以下是常用的参数

  1. -d 指定分割字符(默认是TAB)
  2. -f 指定输出的列号
  3. -c 基于字作进行切割, 如cut -c2-6 /etc/passwd即输出/etc/passwd的每一行的第2到第6个字符

文本统计

命令wc用劲统计文本信息

使用示例:比如wc ok.cpp,以下是显示的结果和解释

9 23 96 ok.cpp
行数,共9行 单词数,共23个单词 字节数,共96个字节 文件名,叫ok.cpp

以下是常用参数

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

文本排序

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

使用示例: 如sort file

  • -r 进行倒序排序
  • -n 基于数字进行排序
  • -f 忽略大小写
  • -u 删除重复行
  • -t c 使用c作为分隔符为列进行排序
  • -k x 指定用哪个key进行排序,通常用于, 进行基于指定字符分割为列的排序时,指定基于那个列排序

删除重复行

  • 命令sort -u 可以用以删除重复行
  • 命令uniq用以删除重复的相邻行

文本比较

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

以下是常用的参数

  • -i 忽略大小写
  • -b 忽略空格数量的改变
  • -u 统一显示比较的信息(一般用以生成patch文件)

检查拼写

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

处理文本内容

命令tr用以处理文本内容

  • 删除关键字

    tr -d "TMD" <file

  • 转换大小写

    tr 'a-z' 'A-Z' file

搜索替换

命令sed用以搜索并替换文件,这里有一个很好的教程, 以下列出一些常见的用法

  1. sed 's/old/new/g' file

    把file里单词old替换为new,如果同一行出现多个old,把每个old都改为new

  2. sed '1,50s/old/new/g' file

    把1到50行里每行出现的old改成new, 如果同一行出现多个old,把每个old都改为new

  3. sed -e 's/old1/new1/g' -e's/old2/new2/g' file

    执行's/old1/new1/g' 和 's/old2/new2/g' 两个命令

  4. sed -f sedsrcipt file

    对file执行sedscipt脚本中的命令

转载请注明出处,请忽用于任何商业用途--nothi

作者:nothi 发表于2013-9-5 22:43:39 原文链接
阅读:60 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>