本文出自   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. mysql启动的四种方式

    mysql的四种启动方式: .mysqld 启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root 客户端连接: mysql --def ...

  2. ThreadLocal用法和实现原理(转)

    如果你定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap.并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义.那么你不 ...

  3. boost库中thread多线程详解2——mutex与lock

    1. mutex对象类 mutex类主要有两种:独占式与共享式的互斥量.▲ 独占式互斥量:mutex: 独占式的互斥量,是最简单最常用的一种互斥量类型try_mutex: 它是mutex的同义词,为了 ...

  4. Xcode6使用storyboard在TabBarController上建立三个以上Item

    在Xcode5上做以上的操作没有问题,这次是要在Xcode6上实现之,特记录以备用. 首先新建一个storyboard文件.取名Custom.storyboard.拖动菜单添加一个TabBarComt ...

  5. 数据结构读书笔记(三)(C语言)

    栈 顺序实现: 存储结构: #define STACK_INIT_SIZE 10 // 存储空间初始分配量 #define STACK_INCREMENT 2 // 存储空间分配增量 struct S ...

  6. Ubuntu14.04更新源

    Ubuntu14.04更新源 http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html Ubuntu源 http://wiki.ub ...

  7. 使用BAT方法结束进程

    @echo off taskkill /f /im GAM.exe taskkill /f /im GCL10.exe http://www.cnblogs.com/FKdelphi/p/501540 ...

  8. 基于visual Studio2013解决面试题之1004最长等差数列

     题目

  9. DOM querySelector选择器

    原生的强大DOM选择器querySelector 在传统的 JavaScript 开发中,查找 DOM 往往是开发人员遇到的第一个头疼的问题,原生的 JavaScript 所提供的 DOM 选择方法并 ...

  10. 解 自己关于 C# Button的Click事件的疑惑

    先说说C#中事件的用法,从事件的用法中,我自己会产生一个疑惑 C#事件 class Program { static void Main(string[] args) { EventClass ec ...