Linux基础之文本处理命令

一、Linux文本处理命令一般有以下几个,cat、tac、head、tail、more、less、sort、uniq、wc

1、cat 显示文本内容

用法:cat FILENAME

-n       显示行号

cat  test.txt

image_thumb2

cat �Cn test.txt 显示行号

image_thumb41

2、tac     和cat相似,但是是反向显示

tac  test.txt

image_thumb5

3、head    :显示前几行

用法:head �Cn FILENAME  head默认显示前十行

head test.txt 默认显示前十行

image_thumb71

head �Cn 2 test.txt 只显示前两行 等同于 head �C2 test.txt

image_thumb8

4、tail       :显示后几行

用法:tail �Cn FILENAME  tail 默认显示后十行

tail test.txt

image_thumb91

tail �Cn 2 test.txt 显示后两行 等同于 tail �C2 test.txt

image_thumb101

5、more、less

分屏显示文件,cat、tac、head、tail都是一次性全部输出到屏幕上。more、less可以分屏显示文件。

用法 more FILENAME

        less FILENAME

more /etc/passwd

image_thumb121

按空格键可以接着分屏查看文本剩余内容

less /etc/passwd

image_thumb131

未显示完全,按空格键可以接着分屏查看文本剩余内容,按q键退出。

6、sort   对文件中的各行进行排序

用法:sort [optinos] FILENAME

-f       :忽略字符大小写

-n     :以数值大小进行排序

-r      :降序

-u      :移除重复的行,具有相同内容的行只保留一行

-R      :随机排序

-k       :指定排序列 例如 �Ck2 指定以第二列进行排序

-t        :指定分隔符 

test2.txt文件

image_thumb4

使用sort �Cf 进行排序 -f忽略大小写

sort �Cf  test2.txt

image_thumb51

sort �Cr  test2.txt  倒序排序

image_thumb6

sort �Cu 移除重复的行

image_thumb7

sort �Cn 以数值进行排序

首先观察test2.txt这个文件,这个文件有两列,列与列之间用空格隔开了,如果我们想要以第二列来排序,也就是数字来排序,该如何实现。

首先需要使用-t选项,指定间隔符,然后使用-k选项指定列。

sort �Ct ‘ ’-k 2 �Cn  test2.txt

image_thumb9

7、uniq 检查及删除文件中的重复行

      用法:uniq options FILENAME

       -c              统计每行重复的次数

       -u             只显示没有重复的行

       -d             只显示重复过的行

cat uniq.txt

image_thumb10

uniq �Cc uniq.txt   统计每行重复的次数

image_thumb12

这里请注意,uniq �Cc 默认认为相邻行相同才为重复的行,不相邻则不为重复的行,所以,一般我们在使用uniq �Cc 进行统计重复次数的时候都会和sort一起使用。

sort �Cn uniq.txt | uniq �Cc

这里使用了|(管道),管道的作用是将前一个命令的输出当做下一个命令的输入

image_thumb13

uniq �Cu  只显示没有重复的行

image_thumb14

uniq �Cd  只显示重复的行

image_thumb15

8、wc  统计

用法:wc [options]  FILE

      -l           只显示行数

      -w         只显示单词数

      -c          只显示字节数

wc uniq.txt

image_thumb16

不带参数,默认会输出所有,即行数、单词数、字节数。

wc �Cl uniq.txt   显示行数

image_thumb17

wc �Cw uniq.txt  显示单词数

image_thumb18

wc �Cc uniq.txt   显示字节数

image_thumb19

以上就是文本处理中的几个简单命令。

你可能感兴趣的:(linux,target,blank)