01 cat命令

通常用来显示文本文件的内容

一般用来查看比较短的文本文件,因为其缓冲区有限

-s选项可以用来合并文件中多余的空行,多个空行将被压缩为一个空行;

-n选项可以显示行号

-b选项可以跳过空行的编号,显示非空行的行号;

cat不加任何参数可以用来赋值标准输入到标准输出;

02 more命令

可以用来分屏查看文本文件的内容

当文件的内容查过一屏时可以分屏查看,最后一行会显示more的提示显示;

回车键会向后滚动一行,空格滚动一屏;

在more中还支持搜索功能,与vim中的搜索用法一致;

按q键自动退出more

可以在某些命令后加管道符号和more命令,可以对命令的结果分屏显示;

03 less命令

用于分屏显示文本文件内容

相对与more命令less功能更加强大

回车键会向后滚动一行,空格滚动一屏;

还可以用上下左右键查看,more不能回滚;

同样支持搜索操作

more显示完文件内容后会自动退出;less不会,需要使用q键

在查看的过程中还可以调用其他shell指令,同vim的底行模式

04 grep命令

是一种长匹配指令,可以匹配我们输入的文本,并在文件中搜索含有匹配的行

# grep "root" /ets/passwd

匹配模式中支持正则表达式

# grep -n "fs$" /proc/filesystem    //搜索以fs结尾的行

05 head命令

用于显示文件的头部内容,默认显示文件前10行内容

# head /etc/httpd/conf/httpd.conf

-n选项可以指定显示的行数

对于显示一些超大型文件的头部内容很重要

可以显示多个文件的头部内容

06 tail命令

用来显示给定文本文件的尾部内容,默认显示尾部10行内容

# tail filename

-n选项可以指定显示内容的行数

-f可以动态跟随文件尾部的变化,经常用该选项监控系统的日志文件;

07 wc命令

用于统计文本文件中的行数,单词数和字节数;

# wc /etc/passwd

44 72 2102 /etc/passwd

# wc -l /etc/passwd    //单独统计文件的行数

# ps -ef |grep gnome |wc -l    //统计当前系统有多少个含有gnome进程

# wc

然后输入一部分内容,按Ctrl+d时会统计我们刚输入的文字信息

08 uniq命令

用于过滤文件中的重复行,并没有改变文件内容

要求要过滤的文本是已经排序过的

首先使用sort命令排序,然后再使用uniq命令#sort file | uniq

-c选项可以统计重复行出现的次数

09 cut命令

用于显示文本文件中指定的列

# cut -f 1 -d " " /etc/fstab    //以空格为分割,显示第1部分

# cut -c -15 /proc/net/arp    //显示每列前面的15个字符即IP地址

10 sort命令

用来对文本排序

# sort file

仅仅将file中的内容排序输出,并没有改变file的内容

-o选项可以输出到指定的文件

# sort file -o result

也可以使用重定向的功能把排序结果保存到文件中

11 join命令

用于合并给定文件中的相同字段,要求文件是被排序过的

# cat math

Tom    90

Jim    91

# cat english

Jim    95

Tom    96

# sort math > math.sorted

# sort english > english.sorted

# join math.sorted english.sorted

Jim    91    95

Tom    90    96

12 split命令

用于将给定的文件分割成若干个小的文件

# split acess_log

会生成很多小文件,每个文件默认是1000行

-l选项可以指定分割的文件大小的行数

13 unexpand命令

用于将文件中多余的空格字符转换成制表符

# cat test.txt

liuli                        zhangsan

# unexpand -t 10 test.txt

liuli    zhangsan

-t将指定个数的空白转换成一个Tab键

14 tr命令

是字符处理工具,用于替换和删除给定文本中的单个字符,不是字符串处理工具

# tr dev xyz < /etc/fstab    //将d替换为x,将e替换为y,v替换为z

sed命令可以替换字符串

# tr a-z A-Z < /etc/hosts    //将小写字符替换为大写字符

# tr -d angi < "zhangsanlisiwangwu"        //将angi对应的字符删除

zhslswwu

# echo $PATH

/opt/arm-2009q3/bin:/usr/lib/qt4/bin:/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/beangr/bin

# echo $PATH | tr ":" "\n"    //将结果中的:替换为换行符

/opt/arm-2009q3/bin

/usr/lib/qt4/bin:/usr/lib/qt-3.3/bin

/usr/local/bin

/usr/bin

/bin

/usr/local/sbin

/usr/sbin

/sbin

/home/beangr/bin

15 tee命令

用于从标准输入读取数据,将其保存到指定的文件并输出到标准输出

# cat /etc/fstab | tee file1 file2 file3

/* 正常输出到标准输出的同时保存到file1,file2,file3 */

16 tac命令

用于以行为单位,反序显示文本的内容

tac是cat的反指令

17 spell命令

是Linux中拼写检查命令,可以对文件中的文本以单词为单位进行拼写检查,并将拼写错误的单词打印出来

# spell file

18 paste命令

用于多个文本文件的合并,以列为单位

# cat t1.txt

name    math    java

Tom        100        70

jim        80        88

# cat t2.txt

C++

90

89

# paste t1.txt t2.txt

name    math    java    C++

Tom        100        70        90

jim        80        88        89

如果需要将结果保存到文件,需要使用重定向

19 diff命令

用于比较两个文件不同的地方

# diff file1 file2

diff命令常用来生成补丁文件

# diff -Nur file1 file2 >a.patch

20 cmp命令

用于比较两个文件的类型,可以是任何类型的文件

会显示出从哪个地方开始不同

# cmp file1 file2

# cmp /bin/ls /bin/mail

# cmp file1 file1    //比较两个相同的文件,没有输出

21 look命令

用于显示文件中以指定字符串开头的行,要求文本文件是有序的

# cat t1.txt

name    math    java

zhang    100        70

lisi    70        88

wang    100        70

zhang    100        70

# sort t1.txt > t1.txt.sorted

# look zhang t1.txt

zhang    100    70

# look zhang t1.txt.sorted

zhang    100    70

zhang    100    70

# look hello    //可以查询我们的字典,会显示所有包含hello的单词

在安装look命令的时候,会安装两个字典文件

22 ispell命令

可以检查文件中英文拼写错误,并给出纠正提示

# cat test.txt

yyear    month    hppy

# ispell test.txt //修改的结果会保存到文件

23 fold命令

用于控制文件内容在显示的时候占用屏幕的宽度

# fold -w 20 /etc/fstab    //指定宽度为20个字符

换行的内容不表示文本是多行,只是多行显示而已

24 fmt命令

用于对文本文件的内容进行文本格式的优化

# fmt -u /etc/fstab    //会压缩显示的空格

25 expand命令

用于将文件中的制表符转换为空格字符

# cat t1.txt

hello    world

hello        Linux

# expand -t 20 t1.txt

hello                    world

hello                                        Linux

与unexpand互逆

26 col命令

用来过滤其他指令输出的控制信息

# cat mytest | col > mytest3

27 colm命令

用于删除文件中指定的列(字符为单位)

# colm 20 < /etc/fstab        //删除前20列字符

原有内容不会发生改变

# colm 20 50 < /etc/fstab    //删除20到50之间的列

28 comm命令

用于比较已经排序的文件,比较以行为单位

# cat chengji1

wangwu    90

lisi    60

zhangsan    80

# cat chengji2

wangwu    90

zhangsan    80

lisi    70

# sort chengji1 > chengji1-1

# sort chengji2 > chengji2-2

# comm chengji1-1 chengji2-2

29 csplit命令

用于将一个大文件分割为小的文件,以行为单位

# csplit test.txt 300

/* 从300行处分割成两个文件 */

30 diff3命令

用于比较3个文件的不同,并显示他们的不同地方

# diff3 file1 file2 file3

31 diffstat命令

用于统计diff指令的输出结果

# diff a.patch

32 printf命令

用于格式化并输出结果到标准输出,非常类似于C语言中的printf函数

# printf "%s\t%s\n" "Hello" "world"

Hello world

33 pr命令

用于将文本文件转换成适合打印的文件,可以将文件分成多页并添加打印标题

# pr test.txt > test.txt.print

34 od命令

用于输出文件的八进制,十六进制或其他格式编码的字节,通常用来显示不能直接在终端显示的字符

# od -tcx1 test.txt

# cat test.txt

hello world

35 rev命令

用于对文件的文本内容以行为单位进行字符的反序输出

# cat test.txt

hello world

I love linux!

# rev test.txt

dlrow olleh

!xunil evol I

参考:

http://blog.csdn.net/halazi100/article/details/42266885(以上内容转自此篇文章)

http://blog.csdn.net/hzylmf/article/details/13712753

http://blog.csdn.net/u011068702/article/details/60882902

Linux文本过滤常用命令(转)的更多相关文章

  1. Linux GDB常用命令一栏

    Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...

  2. Linux 下常用命令

    linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...

  3. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  4. 计算机硬件基本知识及Linux的常用命令

    ------------------1. 计算机硬件基本知识------------------ CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输 寄存器 ...

  5. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  6. Linux帮助——常用命令

    Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...

  7. Linux虚拟机常用命令

    参考原文链接:(https://blog.csdn.net/fanyun_01/article/details/51083585) 一.Linux虚拟机常用命令 # virsh list //查看已打 ...

  8. [转帖]Linux systemd 常用命令

    Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...

  9. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

随机推荐

  1. 软工实践Alpha冲刺(8/10)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面. 完成非功能的主界面制作 ...

  2. mininet、floodlight在第一次SDN上机作业中出现的一些问题

    mininet.floodlight在第一次SND上机作业中出现的一些问题 首先给出链接 VMware安装 mininet安装 floodlight安装及问题,各个版本Ubuntu SDN第一次上机作 ...

  3. 【POJ3294】 Life Forms(SA)

    ...又是TLE,对于单组数据肯定TLE不了,问题是多组的时候就呵呵了... 按height分组去搞,然后判一下是否不属于同一个串... ; var x,y,rank,sa,c,col,h,rec:. ...

  4. 洛谷 P3396 哈希冲突 解题报告

    P3396 哈希冲突 题目背景 此题约为NOIP提高组Day2T2难度. 题目描述 众所周知,模数的hash会产生冲突.例如,如果模的数p=7,那么4和11便冲突了. B君对hash冲突很感兴趣.他会 ...

  5. spring in action 学习笔记九:如何证明在scope为prototype时每次创建的对象不同。

    spring 中scope的值有四个:分别是:singleton.prototype.session.request.其中session和request是在web应用中的. 下面证明当scope为pr ...

  6. 「BZOJ4029」[HEOI2015] 定价 贪心

    「BZOJ4029」[HEOI2015] 定价 2015年4月28日2,7490 Description 在市场上有很多商品的定价类似于 999 元.4999 元.8999 元这样.它们和 1000 ...

  7. vue-cli脚手架的.babelrc文件

    虽然es6还没被浏览器全部支持,但是使用es6是大势所趋,所以babel应运而生将es6代码转换成浏览器能够识别的代码 什么是.babelrc文件呢? 熟悉linux的同学一定知道,rc结尾的文件通常 ...

  8. es6+最佳入门实践(2)

    2.解构赋值 2.1.什么是解构赋值? 什么是解构赋值?这里的关键字还是赋值,这是说如何去赋值的问题,这里说的解构可以理解为解散重新构造,所以解构赋值可以理解为解散重新构造后进行赋值,通常是左边一种结 ...

  9. AGC019-E Shuffle and Swap

    给定两个长度为\(n\le 10^5\)的\(01\)串 \(A, B\), 满足 \(1\) 的数量相等 求通过下列方式将\(A\)变成\(B\)的概率 (mod意义下) 构造序列\(a,b\). ...

  10. WCF信道绑定代码

    监听端创建信道Listener,代码 using System; using System.Collections.Generic; using System.Linq; using System.T ...