本文出自   http://blog.csdn.net/shuangde800

---------------------------------------------------------------------------------

基于关键字搜索


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

$ grep 'shuangde'  /etc/passwd
$ find  / -user  shuangde | grep Video

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




基于列处理文本


命令cut用以基于列处理文本内容
$ cut  -d :  -f  1 /etc/passwd   用冒号分隔并显示passwd文件的第一列(如果显示多列: -f 1,2,3 )
$ grep  shuangde  /etc/passwd  |  cut  -d:  -f3


-d  指定分隔符(默认是TAB)
-f   指定输出的列号
-c  基于字符进行分割

$ cut  -c2-6  /etc/passwd
显示第2~6个字符



文本统计


命令wc(word  count)用以统计文本信息
$ wc  file   输出行数,单词数,字节数

-l   (lines)   : 只统计行数
-w (words) : 只统计单词数
-c  (bytes):只统计字节数
-m (chars):只统计字符数




文本排序


sort命令:用以对文本的行内容进行排序(只支持英文和数字)
$  sort  filename 

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


删除重复行


$ sort  -u  可以删除重复行
$ uniq  用以删除相邻的
重复行


文本比较

diff 命令:一行行地比较两个文本文件的差异
$  diff   file1  file2
-i   忽略大小写
-b  忽略空格数量的改变
-u  统一显示比较信息(一般用以生成patch文件) 
$ diff  -u  file1  file2  >  final.patch


拼写检查


aspell 命令: 显示检查英文拼写
$  aspell  check  file    检查文件file内的单词拼写,可以进行改正
$  aspell list  file   把文件file内错误单词,并显示出来



处理文本内容


tr 命令 : 改变或者删除文本内容

删除关键字
$  tr  -d  'TMD'  < filename    
把T,M,D三个字母都删掉

转换大小写
$  tr  'a-z'  'A-Z'  < filename



搜索替换


sed命令: 用以搜索并替换文本(stream editor for filtering and transforming text.)

$ sed  's/linux/unix/g'   file
$ sed  '1,50s/linux/unix/g'  file
$ sed  -e  's/linux/unix/g'  -e  's/hehe/haha/g'  file    可以指定多个匹配模式
$ sed  -f  sededit  file





Linux入门基础 #10:命令行文本处理工具的更多相关文章

  1. Linux入门——基础系统设置命令

    以下为centos7实验环境 1.网卡管理工具命令——nmcli 参考:http://www.iteye.com/topic/1141839 2.主机名称设置——hostnamectl [root@s ...

  2. Linux入门基础篇

    Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...

  3. Linux入门基础之一

    Linux 入门基础 一.Linux 系统安装 安装方法网上很多,请自行百度 二.Linux 基本操作 2.1.GNOME图形界面基本操作 操作类似于Windows系统操作 打开每一个文件夹都会打开一 ...

  4. Linux入门基础之 下

    八.Linux 管道.重定向及文本处理 8.1.Linux 多命令协作:管道及重定向 8.1.1 开源文化 开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件.代码.功能的重新组合 ...

  5. Linux入门_2-基础命令

    Linux入门-基础命令 目录 日期命令date 修改时区 日历命令cal 关机启动命令halt,reboot,poweroff whoami.who.who am i.w screen ...

  6. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  7. linux入门基础——linux软件管理RPM

    由于linux入门基础是基于CentOS解说的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RP ...

  8. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  9. gcp – 源于CP的高级命令行文件拷贝工具

    作者:linux 出处:http://linux.cn/thread/11868/1/1/ gcp – 源于CP的高级命令行文件拷贝工具 几周前,我们讨论了高级拷贝(修改于cp命令,让其可以显示复制进 ...

随机推荐

  1. ImageMagick 压缩图片 方法

    Images as a percentage of page weight for the Alexa top 10 global web sites  图片在站点所占的比重越来越重.更好的优化图片能 ...

  2. java--函数练习

    /* 1,定义一个功能,用于打印矩形 1,定义一个打印九九乘法表功能的函数 */ class FunctionTest { public static void main(String[] args) ...

  3. C#由变量捕获引起对闭包

    C#由变量捕获引起对闭包的思考   前言 偶尔翻翻书籍看看原理性的东西确实有点枯燥,之前有看到园中有位园友说到3-6年工作经验的人应该了解的.NET知识,其中就有一点是关于C#中的闭包,其实早之前在看 ...

  4. 记录Log4Net的使用

    最近项目中有一个记录错误日志的功能模块,以前采用的是写TXT的做法.代码如下 /// <summary> /// 写入日志 /// </summary> public stat ...

  5. 基于visual Studio2013解决C语言竞赛题之1015日期计算

        题目 解决代码及点评 /* 15. 已知某年不是闰年,给定该年某一天的月份和日期, 求这一天是该年的第几天. */ #include <stdio.h> #incl ...

  6. EasyUI - DataGrid 组建 - [ 组件加载和分页 ]

    效果: 原理:通过POST传递到数据后台字段. 此时上传的参数,page:当前页数,rows:每页显示的页数. 有此两项参数,计算取出数据条数. 通过后台接受参数,进行处理并返回抽取的数据. html ...

  7. RS100项目进展更新

    1. 添加手机界面访问网页,毕竟PDA的屏幕大小和PC机大小不一致,完成了一自适应网页,便于在手机上观看实时画面: 2. 此项目为一个远程视频监控+远程开关项目,远程PC机或者手机能操作到监控端的开关 ...

  8. QSettings操作配置文件

    用Qt写界面时,难免会进行本地信息的保存,可以使用轻量级数据库sqlite,也可以使用QSettings读写配置文件.     如何来进行读写呢?如下,使用QSettings写一个通用的读写方法:   ...

  9. 单选按钮、复选按钮——axure线框图部件库介绍

    有时候发现这做事情坚持下来是一件很不容易的,写教程也一样,不过听到很多朋友对我说 这个全部是图片的教程 对他们入门帮助很多,我就想想 在坚持坚持把基础部分先完善了! 1. 简单的问卷调查: 您的性别? ...

  10. 基于visual Studio2013解决面试题之0804复杂链表

     题目