LINUX文本处理工具讲解

在学习Linux系统中,我们要想看文件,一般就cat命令执行,执行大文件时,就不好使了;

less和more可以实现你心中的梦想,可以帮你查看大文件内容,

more命令:

[[email protected] ~]# more /etc/man_db.conf

#

#

# This file is used by the man-db package to configure the man and cat paths.

# It is also used to provide a manpath for those without one by examining

# their PATH environment variable. For details see the manpath(5) man page.

#

空格键:代表向下翻一页

enter:代表向下翻一行

/字符串:代表在这个显示的内容当中,向下查询“字符串”这个关键字

:f   :立即显示文件名以及目前显示的行数;

q: 代表立刻离开more,不在显示该文本内容。

b:代表往回翻页。

less命令:

lessd的用法比起more又更加弹性,在more我们没办法往前翻,只能往后看,然后自动退出,man命令就是调用less命令来实现的

[[email protected] ~]#  less /etc/rc.d/init.d/functions

空格键:向下翻动一页

k:翻下一行

j:向上翻一行

/字符串:向下查询

?字符串:向上查询

n:正向

N:反向

q:离开

文本截取内容head和tail命令

head [-n number] 文件

-n:后面接数字,代表几行的意思

[[email protected] ~]# head /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

默认情况为10行,显示。

[[email protected] ~]# head -n 20 /etc/man_db.conf

这是显示20行

tail命令:

tail [-n number] 文件

-n:后面接数字,代表显示后面几行的意思

-f:表示持续检测后面接的文件名,要Ctrl-c才会结束tail的检测

[[email protected] ~]# tail /etc/passwd

qemu:x:107:107:qemu user:/:/sbin/nologin

chrony:x:990:985::/var/lib/chrony:/sbin/nologin

当我们不跟数字时,默认从文件尾部输出10行,

要是想看文件最后3行,可以这样操作

[[email protected] ~]# tail -n 3 /etc/passwd

ntp:x:38:38::/etc/ntp:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

aliyun:x:1000:1000:aliyun:/home/aliyun:/bin/bash

cut命令:剪切文本的字符段,达到自己想要的结果

cut [OPTION]... [FILE]...

-d DELIMITER: 指明分隔符,默认tab

-f FILEDS:

#: 第#个字段

#,#[,#]:离散的多个字段,例如1,3,6

#-#:连续的多个字段, 例如1-6

混合使用:1-3,7

-c按字符切割

--output-delimiter=STRING指定输出分隔符

例:找出/etc/passwd文件中的uid;首先我们分析,可以用冒号:作为分隔符,这样可以分出7个字段,然后我们取出第3个字段,表示的就是uid;

[[email protected] ~]# cut -d : -f 3 < /etc/passwd

0

1

2

取出第3,4,7段时,应该这样表达;-d : -f3,4,7

[[email protected] ~]# cat /etc/passwd | cut -d: -f3,4,7

0:0:/bin/bash

1:1:/sbin/nologin

2:2:/sbin/nologin

取出连续3,567,可以用。-d : -f 3,5-7

[[email protected] ~]# cat /etc/passwd | cut -d: -f3,5-7

0:root:/root:/bin/bash

1:bin:/bin:/sbin/nologin

要是按字符切割:表示的就是从行,最前面,到的第几个字符

[[email protected] ~]# cat txt

123456789

123456789

123456789

[[email protected] ~]# cat txt | cut -c 5

替换符号,,把取出来的中间换上*号

[[email protected] ~]# cut -d: -f3,4 --output-delimiter=* < /etc/passwd

0*0

1*1

2*2

paste (合并两个文件同行号的列到一行)

-d:分隔符:指定分隔符,默认用tab

-s:所有行合成一行显示

paste f1 f2

paste -s f1 f2

[[email protected] ~]# paste -d "+" -s txt txt1

123456789+ 123456789+ 123456789

121121212121+232323232323+44444444444455+66666666677777

指明分隔符为"+"然后每个文件所有行都合成一行。

wc命令:收集文本的统计数据(行,字节,单词)

[[email protected] ~]# cat /etc/passwd | wc -l

44  行

[[email protected] ~]# cat /etc/passwd |wc -w

89  单词

[[email protected] ~]# cat /etc/passwd | wc

44      89    2331

[[email protected] ~]# cat /etc/passwd | wc -c

2331  字节、

文本排序sort命令:

sort[options] file

-r :执行反方向

-n:安数字大小

-f:忽略字符串中的字符大小写

-u:选项删除输出中的重复行

-t c 选项使用c作为字段定界

-k X 选项按照使用c字符分隔的X列来整理能使用多次

uniq命令:从输入中删除重复的前后相接的行

uniq [option] ...[file]...

-c:显示每行重复出现的次数

-d:仅显示重复过的行

-u:仅显示不曾重复的行;连续且完全相同为为重复

常和sort命令一起配合使用:

sort userlist.txt | uniq -c

[[email protected] ~]# sort -r txt | uniq -c

4 ssssss

1 eeeeee

1 dddddd

4 aaaaaa

diff命令比较两个文件的不同之处;

[[email protected] ~]# diff -u f1 f2 > diff.log打个补丁输出到diff。log文件

[[email protected] ~]# rm -f f2

[[email protected] ~]# patch -b f1 diff.log

patching file f1

[[email protected] ~]# mv f1.orig f1

[[email protected] ~]#

[[email protected] ~]# mv f1 f2

时间: 2024-10-13 11:39:34

LINUX文本处理工具讲解的相关文章

linux文本处理工具

linux文本处理工具 1.Linux 文件系统上的特殊权限: SUID     SGID   Sticky 进程的安全上下文:(1)任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行去权限 (2)启动为进程后,其属主为发起者,属组为发起者所属的组 (3)进程访文件的权限,取决于进程的发起者 (a)  进程的发起者,同文件的属主:则应用文件属主权限                                            (b)  进程的发起者,属于文件属组:则

Linux文本处理工具AWK使用解析

在linux系统上有三大文本处理工具分别是:grep,sed,awk,这次主要来看看awk. awk  option  'pattern'  file -F    指定分隔符: -v     申明自定义变量: 查看当前系统上,用户名和用户shell,输出分隔符为~. # awk -F: 'BEGIN{OFS="~";print "UserName   Shell"}{print $1,$7}END{print "================end===

Linux文本处理工具之join,paste

大纲 1.join是什么?有什么作用? 2.join语法格式 3.实战演练 4.引入paste命令 1.join是什么?有什么作用? Linux下最常用的数据文件格式是文本格式的,使用分隔符来区分不同的字段,比如冒号(:).制表符.空格等.像常见的/etc/passwd和 /etc/group两个文件就是用":"来分隔的.这种文本格式我们可以视为文本数据库,既方便人去阅读,也适合程序处理,通常某列类似于数据库中的关键字. join命令就是一个根据关键字合并数据文件的命令(join li

Linux 文本处理工具

Linux 文本处理工具 wc 打印行.词.字节的数量 cut 按列切分文本  sort 排序 uniq 消除重复行 wc 打印行.词.字节的数量 语法: wc [OPTION]... [FILE]... 选项: -l:line 统计行数 -w:words 统计单词数 -c:characters 统计字符数 示例: [[email protected] ~]$ cat wctest hello world 123 [[email protected] ~]$ wc -l wctest    #统

Linux文本处理工具——Grep

Grep简介 全名:Global search Regular expression and Print out the line. 功能:文本搜索工具,根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行. Linux的三大文本处理工具之一,可以说学好grep命令无疑是重要的,可以说学好grep也是不容易的,因为grep里面要用到最烦人的正则表达式. grep语法格式 grep [option]... 'PATTERN' FILE... [option]:表示可以跟选项,

Linux文本处理工具三剑客之grep

Linux家族关于文本处理的工具有三个,他们分别为grep.awk和sed,今天我就介绍一下grep文本处理工具. 首先,什么是grep呢? grep是一种文本搜索工具,基于"pattern"对给定文本进行搜索过滤,并对目标文本进行检查,并打印出符合条件的文本的一款文本处理工具.说到pattern,那么pattern又是什么呢?那就是大家所熟知的"正则表达式". grep家族又有三个成员:grep,egrep和fgrep. grep: 支持正则表达式. egrep:

Linux文本处理工具grep

文件查看工具:cat 将[文件]或标准输入组合输出到标准输出. -A, --show-all                                  等于-vET -b, --number-nonblank                           对非空输出行编号 -e                                              等于-vE -E, --show-ends                                 在每行结

正则表达式及linux文本检查工具

一.linux正则表达式之前的三个文本查找命令 grep:(global search regular RE )全面搜索正则表达式并把行打印出来) 相关解释:最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 名称:print lines matching a pattern是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来 [[email protected] ~]# grep 'root' /etc/passwd root:x:0:0

实练Linux文本处理工具(上)

第六章:文本处理工具 文本查看命令(cat) 分页查看文件(more) 文本查看上下翻页(less) 显示头部(head) 显示尾部(tail) 按列抽取文本cut 合并文件paste 收集文本统计数据wc 文本排序sort 删除重复uniq 比较文件diff 复制对文件改变patch 文本搜索工具grep egrep 及扩展的正则表达式 作业: 第六章:文本处理工具 文本查看命令(cat) 命令简介: cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命