Linux文本过滤常用命令(转)
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文本过滤常用命令(转)的更多相关文章
- Linux GDB常用命令一栏
Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...
- Linux 下常用命令
linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...
- linux 服务器常用命令整理
linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...
- 计算机硬件基本知识及Linux的常用命令
------------------1. 计算机硬件基本知识------------------ CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输 寄存器 ...
- 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)
一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...
- Linux帮助——常用命令
Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...
- Linux虚拟机常用命令
参考原文链接:(https://blog.csdn.net/fanyun_01/article/details/51083585) 一.Linux虚拟机常用命令 # virsh list //查看已打 ...
- [转帖]Linux systemd 常用命令
Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...
- Linux系统管理常用命令
Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...
随机推荐
- REMIX与LOCALHOST相连
REMIX与LOCALHOST相连 让Remix与本地文件系统进行交互,点击connect同时找到localhost下的Remix文件管理器的共享目录.在开始之前,参考网址: https://remi ...
- UTXO是什么?
以易于理解的方式解释了比特币交易中的"UTXO" UTXO 2017年11月1日 让我们看看当你发一点硬币时会发生什么. 比特币交易通过UTXO执行.通过在比特硬币的所有交易中新生 ...
- HDU 3954 Level up (线段树特殊懒惰标记)
http://blog.csdn.net/acm_cxlove/article/details/7548087 感觉最巧的是定义了min_dis……将区间内有无英雄升级分开处理 #include &l ...
- Python 3.x的编码问题
Python 3的源码.py文件的默认编码方式为UTF-8(Python 2.x的默认编码格式为unicode). encode的作用,使我们看到的直观的字符转换成计算机内的字节形式. decode刚 ...
- VB.NET视频总结——基础篇
VB.NET视频是台湾讲师曹祖胜和林煌章共同带来的经典视频,视频中老师的台湾腔特别重,听起来有些别扭.而且对于计算机方面的术语翻译的与大陆有很大差异,所以刚开始看视频的时候总是进入不了状态,一头雾水的 ...
- [bzoj4945][Noi2017]游戏
题目大意:有$n$个位置,有三种数,每个位置只可以填一种数,$d(d\leqslant8)$个位置有三种选择,其他位置只有两种选择.有一些限制,表示第$i$个位置选了某种数,那么第$j$个位置就只能选 ...
- BZOJ2125 最短路 【仙人掌最短路】
题目 给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径. 输入格式 输入的第一行包含三个整数,分别表示N和M和Q 下接M行,每行三个整数v,u,w表示一 ...
- 雅礼集训 Day1 T2 折射
折射 题目描述 小\(\mathrm{Y}\)十分喜爱光学相关的问题,一天他正在研究折射. 他在平面上放置了\(n\)个折射装置,希望利用这些装置画出美丽的折线. 折线将从某个装置出发,并且在经过一处 ...
- Codeforces Round #522 (Div. 2) C. Playing Piano
C. Playing Piano 题目链接:https://codeforces.com/contest/1079/problem/C 题意: 给出数列{an},现在要求你给出一个数列{bn},满足: ...
- HTTP基础--cookie机制和session机制
1.介绍cookie和session的区别,怎么获取与使用?(这个问题比较开放,可深可浅,现在将这里涉及的主要问题总计如下答案) 答: 一.cookie机制和session机制的区别 cookie机制 ...