Linux命令行文本处理工具

标签: linux 命令行 文本 | 发表时间:2013-09-06 06:43 | 作者:nothi
出处:http://blog.csdn.net

这是看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 原文链接
阅读:81 评论:0 查看评论

相关 [linux 命令行 文本] 推荐:

Linux命令行文本处理工具

- - CSDN博客系统运维推荐文章
这是看Linuxcast的笔记. Linux命令行文本处理工具. 命令grep用以基于关键字搜索文本. 命令格式grep "关键字",并且通常和管道一起使用,如ls -l | grep "test". -i 在搜索的时候忽略大小写. -Ax 在输出的时候包含结果所在行之后(after)的指定行数. -Bx 在输出的时候包含结果所在行之前(before)的指定行数.

28个Unix/Linux的命令行神器

- - 酷壳 - CoolShell.cn
下面是 Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具( 原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的. 这些工具都非常不错,希望每个人都知道. 本篇文章还在 Hacker News上被讨论,你可以过去看看. 我以作者的原文中加入了官网链接和一些说明.

Linux命令行里的“瑞士军刀”

- - 外刊IT评论
这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作. 下面的这些内容是 Quora网站上Joshua Levy网友的总结:. 通过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文件,文件本身已经去除了重复内容. 下面是效率最高的方法,可以处理任何体积的文件,甚至几个G的文件.

Linux 用命令行查看硬件信息

- Feng - Wow! Ubuntu
之前我们介绍过,在 Linux 上用图形化工具来查看硬件信息,现在我们再介绍一下用命令行方式来完成此工作. linux 查看硬件信息:proc. linux 查看硬件信息:终端命令行. linux 查看硬件信息:脚本. linux 查看硬件信息:proc. 使用/proc查看的硬件信息虽然丰富,但是可读性不好,尤其是我这样的菜鸟,可谓天文.

高效Linux用户需要了解的命令行技能

- - 灵犀志趣
最近在Quora上看到一个问答题目, 关于在高效率Linux用户节省时间Tips. 将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在几位回答者的日常工作中都很有用. 对于任何不了解的命令,请使用“man “查看,或者使用Google.

20个linux命令行工具监视性能(下) - Hackerman

- - 博客园_首页
昨天晚上第一次翻译了《20 Command Line Tools to Monitor Linux Performance》中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给大家吧,第一次写博客,写的不是特别的好,希望大家不要介意,也希望大家觉得有什么不对的地方能够多多指教,毕竟小弟还是初学者.

12款最佳Linux命令行终端工具

- - 外刊IT评论网
如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章. 我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端. 这是一款可配置的雷神之锤风格的终端工具,也就是说,当用户敲击配置好的热键(缺省是F1)时,这个终端会从屏幕的顶端滑出,就跟雷神之锤游戏中的效果一样.

Linux 中 10 个有用的命令行补全例子

- - Linux - 操作系统 - ITeye博客
在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令. 这个功能被称作命令行补全bash completion. 默认情况下,bash 命令行可以自动补全文件或目录名称. 不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度.

如何用Linux命令行管理网络:11个你必须知道的命令

- - 极客范 - GeekFan.net
无论你是要下载文件、诊断网络问题、管理网络接口,还是查看网络的统计数据,都有终端命令可以来完成. 这篇文章收集了久经考验靠谱的命令,也收集了几个比较新的命令. 多数命令都可以在图形桌面执行,即使是没什么终端使用经验的Linux用户也会常常执行命令来使用ping或是其它的网络诊断工具. 使用 curl或 wget命令,不用离开终端就可以下载文件.

如何在Linux上提高文本的搜索效率

- - 极客范 - GeekFan.net
对于系统管理员或程序员来说,当需要在复杂配置的目录中或者在大型源码树中搜寻特定的文本或模式时,grep类型的工具大概是最受欢迎的. 如果grep是你最喜欢的工具之一,那么你可能会更喜欢ack. ack是一个基于Perl的类似于grep的命令行工具,但是搜索速度更快,能力比grep更强. 尤其是当你是程序员时,我强烈推荐你使用ack来取代grep.