本文出自   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. PowerManager.WakeLock

    PowerManager.WakeLock PowerManager.WakerLock是我分析Standup Timer源代码时发现的一个小知识点,Standup Timer 用WakeLock保证 ...

  2. GDOI2015——已成梦

    今年GDOI(2015)在韶关北江中学(没记错的话应该是武江区)举行,感觉这五天就是一场梦,一场包含苦辣的梦. Day0 坐了一个上午的车,而且车内的空气又不好,感觉整个人都累倒下了. 到了北江之后吃 ...

  3. K&amp;R练习题6-1统计关键词出现的次数

    这道练习题训练了: 1.结构体数组 2.二分查找 3.指针操作 ---- 都不难.但非常基础,我认为非常好,做完了记到博客上来,题目见k&R,实现例如以下: /* * Practice of ...

  4. ListView 使用方法(Asp.Net)

    您将须要用到的独有数据绑定控件. Fritz Onion 代码下载位置: ExtremeASPNET2008_03.exe (192 KB) Browse the Code Online  文件夹 L ...

  5. C++和JNI的数据转换

    链接地址:http://blog.csdn.net/manymore13/article/details/19078713 转载地址:http://www.cnblogs.com/daniel-she ...

  6. WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用

    纯粹WinForm界面不够友好,实现数据复杂度高的处理有些力不从心,所以看了看api以后决定用html来做. 我的wlw的代码插件不是很好用,大家凑合看吧 类前说明引用和权限 1: [Permissi ...

  7. bottle-session 0.2 : Python Package Index

    bottle-session 0.2 : Python Package Index bottle-session 0.2 Download bottle-session-0.2.tar.gz Redi ...

  8. graph driver-device mapper-04libdevmapper基本操作

    // 创建thin pool // 调用路径:NewDeviceSet->initDevmapper->createPool 1.1 func createPool(poolName st ...

  9. BLE简介和Android BLE编程

    一.BLE和BT区别 其实我知道许多程序员不太喜欢阅读除了代码以外的文档,因为有时这些过于冗长的文档对编程并没有更多的好处,有了协议,接口,demo差不多很多人就能写出很好质量的代码了.但其实更深入的 ...

  10. delphi json(CDS包含了Delta数据包)

    在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包 ...