Linux下常见的文本处理命令

众所周知,在Linux下"一切皆文件"的原则,一切配置文件都可以以文本的方式进行编辑、存储。故对文本文件的操作能力,决定着你是否能够在Linux下操纵自如。今天,就写下几个关于Linux下一些常用的文本处理命令。

1、文本文件查看命令:cat、more、less、head、tail

1.1 cat命令:连接并显示,当文本文件有多个时,将其连接并一个一个的完整地显示出来

eg:

cat /etc/inittab

cat /etc/fstab

cat /etc/inittab /etc/fstab

cat主要有三大功能:
        1.一次显示整个文件。# cat filename
        2.从键盘创建一个文件。# cat > filename  
               只能创建新文件,不能编辑已有文件.
        3.将几个文件合并为一个文件: # cat file1 file2 > file

cat命令的常用参数:

cat -n 或 --number 由 1 开始对所有输出的行数编号

cat -E 显示文本文件的行结束符

Linux的行结束符为$,而windows的行结束符为$+回车,

故在Linux上编辑的文本文件在windows中显示,都是只有一行

cat命令,以ctrl+c结束 、运行在bash之上;

1.2 文件查看之分屏显示:more、less、head、tail

more命令:more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读。more命令从前向后读取文件,因此在启动时就加载整个文件。

 严格来说more命令只能实现"向后翻页",因为要想实现"往前翻页",当前光标必须是不在文件的尾部

空格键 space(向后一屏)

b键    back (向前一屏)

回车        (向后一行)

/          (搜寻字串)

less命令:less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。

在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 less 在查看之前不会加载整个文件

空格键 space(向后一屏)

b键    back (向前一屏)

回车        (向后一行)

/          (搜寻字串)

pgup       (向上一页)

pgdn       (向下一页)

/          (搜寻字串)

?          (搜寻字串)

head命令:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

查看文件的前n行,默认前10行

-n num:前num行

tail命令:tail 命令从指定点开始将文件写到标准输出.

-n num:查看文件尾部后num行

-f:查看文件尾部、不退出、等待显示后续追加至此文件的新内容

使用tail命令的-f选项可以方便的查阅正在改变的日志文件

tail -f filename会把filename里最尾部的内容显示在屏幕上

               并且不断刷新,使你看到最新的文件内容.


三大利器:(必须会)

sed(文本处理类)、awk(文本处理类)、grap(文本查找类)

2、文本处理相关的命令:cut(剪切)、join(合并)、sed、awk

2.1 cut命令:详细内容,可以看我的博客:文本处理类命令之cut命令详解

-d:指定字段分隔符,默认是空格

-f:指定要显示的字段,

-f 1

-f 1,3(显示第1和第3个属性值,离散表示法)

-f 1-3(显示第1到第3个属性值,连续表示法)

2.2 文本排序命令:sort、uniq

文本排序:

sort(并不影响原文件中的内容,只是影响显示内容,相当于视图,默认升序,ASCII)

-n(按照数字大小排序,而非默认的ASCII码)

-r(逆序排列,可以和-n一起使用)

-t(字段分隔符)

-k(以哪个字段为关键字排序)

-u(排序后相同的行,只显示一次)

-f(排序时,忽略字符大小写)

关于sort命令的详解:请看我的博客——Linux下的文本排序命令之sort命令详解

uniq (报告和忽略重复的行),什么是重复的行:内容一致,互为相邻

-d:只显示重复的行

-D:

-c:显示文件中行重复的次数

uniq命令的功能是去掉文件中重复行输出。(不改变原文件)

uniq --help 可查看命令参数使用方法。

uniq file1 显示file1中内容,重复行只显示一次。

uniq -c file1 显示file1中内容,重复行只显示一次。在每行前面列出本行在文件中出现几次。

uniq -d file1 只显示file1中重复出现的行,且重复行只显示一次。

uniq -D file1 只显示file1中重复出现的行,且重复行全部显示。

uniq -f 2 file1 忽略每行前两个词,显示file1中内容,重复行只显示一次。

uniq -i file1 忽略大小,显示file1中内容,重复行只显示一次。

uniq -s 5 file1 忽略每行前5个字母,显示file1中内容,重复行只显示一次。

uniq -u file1 只显示file1中不重复的行。

uniq -w 5 file1 只比较每行前5个字母,显示file1中内容,重复的只显示一次。

2.3 文本统计命令之wc命令

文本统计:

wc:(统计一个文本中的:行数,单词数,字符数)

wc /etc/fstab

wc -l /etc/fstab统计行数

wc -w /etc/fstab统计单词数

wc -c /etc/fstab统计字节数

wc -m /etc/fstab统计字符数

wc -L /etc/fstab显示最长的一行包含多少个字符

2.4 字符处理命令之tr命令

字符处理命令:

tr:转换或删除字符

tr [OPTION]... SET1 [SET2]

SET表示字符集

如:tr ab AB

一个一个字符比较

-d 删除字符集中出现的所有字符,只需要给定一个字符集即可

详细请看我的博客:Linux下的字符处理命令之tr命令详解

Linux下常见的文本处理命令的归纳总结:

  1、文本文件查看命令:cat、more、less、head、tail

         2、文本处理相关的命令:cut(剪切)、join(合并)、sed、awk

         3、文本排序命令:sort、uniq

         4、文本统计命令之wc命令

         5、字符处理命令之tr命令

时间: 2024-10-18 23:28:05

Linux下常见的文本处理命令的相关文章

linux下常用的文本转换命令1(tr)

Linux下常用的文本转换和处理命令 tr命令 tr:替换.压缩或删除字符 格式:tr [OPTION]... SET1 [SET2] 选项: -c complement 使用字符集2替换字符集1中没有包含的字符(默认换行符也算在内) -d delete 删除字符集1中的所有字符,不进行转换 -s squeeze-repeats 把字符集1中的重复的字符压缩成一个 -t --truncate-set1 将字符集1中对应的字符用字符集2替换 (一般默认) 例子: -c 替换:  # echo "a

Linux下常见压缩解压命令

inux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件: -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他 zip -d myfile.zip smart.txt 删

详解Linux中的cat文本输出命令用法

作系统 > LINUX > 详解Linux中的cat文本输出命令用法 Linux命令手册   发布时间:2016-01-14 14:14:35   作者:张映    我要评论 这篇文章主要介绍了Linux中的cat文本输出命令用法,是Linux入门学习中的基础知识,需要的朋友可以参考下 cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的.一.功能cat主要有三大功能:1.一次显示整个文件. 复制代码 代码如下: $ cat filename 2.从键盘创建一个文件. 复

linux下常见解压缩命令

linux下常见的压缩文件格式有tar.gz.tar.gz.tar.bz2.zip等等.对于不同的压缩文件格式有对应的解压缩命令.下面就对此小结一下: 1.后缀为.tar 用 tar –xvf 解压 2.后缀为.gz 用 gzip -d或者gunzip 解压 3.后缀为.tar.gz和*.tgz 用 tar –xzf 解压 4.后缀为.bz2 用 bzip2 -d或者用bunzip2 解压 5.后缀为.tar.bz2用tar –xjf 解压 6.后缀为.Z 用 uncompress 解压 7.后

Linux下几种文件传输命令

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

linux下常用的日志分析命令

linux下常用的日志分析命令 本文介绍下,在linux中常用的一些分析日志的命令行或脚本,有需要的朋友参考下. 形如下面这样的access.log日志内容: 211.123.23.133 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令 在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find  path expression 1.按照文件名查找 (1)find / -

linux下维护服务器之常用命令

linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [[email protected] ~]# grep -v '^$' 文件名 |grep -v '^#' 2.如何查阅系统上面正在运作当中的程序呢? 利用静态的 ps 或者是动态的top,还能以 pstree 来查阅程序树之间的关系! 一个是叧能查阅自己 bash 程序癿『 ps -l 』一个则是可以查阅 所有系统运作癿程序『 ps aux 』 [[email protected] ~]#

Linux下修改Oracle数据库字符集命令

常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle数据库到本地机器上 操作指令: [[email protected] ~]$ sqlplus /nolog SQL> conn /as sysdba; SQL>select userenv('language') from dual; SQL>SHUTDOWN IMMEDIATE SQL&g