【Linux】指令入门之文本处理(四)

简介: 在 linux 处理文本时要用到工具,执行命令和结果很多时候也是文本方式,处理文本三剑客:grep sed awk。我们常说linux系统中一切皆文件,对服务配置也都是需要编辑相应的配置文件的。对于我们来说,先查看这些配置文件才是重点。在linux中查看文本文件最常见的命令包括cat、tail、more和head。

一、文本处理命令

在 linux 处理文本时要用到工具,执行命令和结果很多时候也是文本方式,处理文本三剑客:grep sed awk。


现在开始看下文本处理工具是怎么样的。常用的命令有


1 文件查看

u 文件查看命令:

cat,tac,rev

u cat[OPTION]...[FILE]...

-E:显示行结束符$

-n:对显示出的每一行进行编号

-A:显示所有控制符

-b:非空行编号

-s:压缩连续的空行成一行

u tac

u Rev


2 分页查看文件内容

u more: 分页查看文件

more [OPTIONS...] FILE...

-d: 显示翻页及退出提示

u less: 一页一页地查看文件或 STDIN 输出

查看时有用的命令包括:

/文本 搜索  文本

n/N  跳到下一个或上一个匹配

less 命令是 man 命令使用的分页器



3 显示文本前或后行内容

u head [OPTION]... [FILE]...

-C#:指定获取前#字节

-n#:指定获取前#行

-#:指定行数

u tail [OPTION]... [FILE]...

-c#:指定获取后#字节

-n#:指定获取后#行

-#:同上

-f:跟踪显示文件 fd 新追加的内容,常用日志监控相当于--follow=descriptor

-F:跟踪文件名,相当于--follow=name--retry

u Tailf 类似 tail-f,当文件不增长时并不访问文件


4 按列抽取文本 cut & 合并文件 paste

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

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

-f FILEDS

#:第#个字段

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

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

混合使用:1-3,7

-C 按字符切割

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


5 Cut 和 paste

u 显示文件或 STDIN 数据的指定列

cut -d:-f1/etc/passwd

cat /etc/passwd | cut-d:-f7

cut-c2-5/usr/share/dict/words

u Paste 合并两个文件同行号的列到一行

paste [OPTION]... [FILE]...

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

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

示例:

paste f1 f2

paste -s f1 f2


6 收集文本统计数据 wc

u 计数单词总数、行总数、字节总数和字符总数

u 可以对文件或 STDIN 中的数据运行

wc story.txt

39 237  1901 story.txt

行数 字数 字节数

u 常用选项

-I 只计数行数

-W 只计数单词总数

-C 只计数字节总数

-m 只计数字符总数

-L 显示文件中最长行的长度



相关文章
|
23小时前
|
Linux Perl
编程入门(七)之【Linux进阶操作AWK】
编程入门(七)之【Linux进阶操作AWK】
|
23小时前
|
Linux Shell Perl
编程入门(六)【Linux系统基础操作四】
编程入门(六)【Linux系统基础操作四】
|
23小时前
|
Linux Shell
编程入门(六)【Linux系统基础操作三】
编程入门(六)【Linux系统基础操作三】
|
23小时前
|
Linux Shell 数据库
编程入门(六)【Linux系统基础操作二】
编程入门(六)【Linux系统基础操作二】
|
23小时前
|
供应链 Ubuntu Linux
编程入门(六)【Linux系统基础操作一】
编程入门(六)【Linux系统基础操作一】
|
1天前
|
Linux C语言 iOS开发
【Linux1】为什么要学习Linux,为什么互联网公司在招聘时,会提出要有Linux经验,及其使用;一些Linux常见指令
【Linux1】为什么要学习Linux,为什么互联网公司在招聘时,会提出要有Linux经验,及其使用;一些Linux常见指令
|
12天前
|
存储 缓存 Java
Linux常用指令和知识(1)
Linux常用指令和知识(1)
8 0
|
13天前
|
人工智能 Java Shell
【Linux】环境变量及相关指令
【Linux】环境变量及相关指令
|
13天前
|
存储 监控 Unix
【Linux 系统】Linux 下基本指令 -- 详解
【Linux 系统】Linux 下基本指令 -- 详解
|
14天前
|
Linux 开发工具
linux sudo指令提权
linux sudo指令提权