Linux——文件处理工具(一)

(1) 文件查看命令: cat,
tac,rev

cat [OPTION]… [FILE]…读取文件内容

E: 显示行结束符$

Linux——文件处理工具(一)

V :显示非打印字符

Linux——文件处理工具(一)

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

Linux——文件处理工具(一)

A:显示所有字符

Linux——文件处理工具(一)

b
非空行编号

s连续的空行变成一

Linux——文件处理工具(一)

T:显示Tab

Linux——文件处理工具(一)

tac:倒着显示作用

Linux——文件处理工具(一)

rev:把echo输入的内容倒着显示出来

<

p align=”left” style=”color:#085160;font-size:24pt”>
Linux——文件处理工具(一)

(2)分页查看文件内容

v more: 分页查看文件

more [OPTIONS…] FILE…

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

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

查看时有用的命令包括:

/文本
搜索 文本

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

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

(3)显示文本前或后行内容

v head 默认前十行

head [OPTION]… [FILE]…

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

-n #: 指定获取前#  标准输入:
head -n #
文件名

-#
指定行数

v tail 默认后十行   

tail [OPTION]… [FILE]…

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

-n #: 指定获取后#  标准输入:
tail -n #
文件名

-f: 跟踪显示文件新追加的内容,常用日志监控Ctrl+c终止运行退出

Linux——文件处理工具(一) 

 默认显示后十个的日志监控,tail n o f 文件名则显示最后一个

练习:显示/etc/passwd文件的第11行至第20

head n 20 /etc/passwd |tail

Linux——文件处理工具(一)

(4)按列抽取文本cut和合并文件paste

v cut [OPTION]… [FILE]…

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

f :选取第几列

Linux——文件处理工具(一)

#,#[,#]:离散的多个字段,例如1,3,6选取第a,b,..

Linux——文件处理工具(一)

##:连续的多个字段, 例如16选取ab

Linux——文件处理工具(一)


混合使用: 13,7

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

Linux——文件处理工具(一)

c 按字符切割适合内容格式规整的文件

练习:查出app分区的磁盘使用量

df|tr s [[:space:]]|head n 4|tail n 1|cut d ‘ ‘ f5|cut d ‘%’ f1

Linux——文件处理工具(一)

df|tr -s ” “%|head -n 4|tail -n 1|cut -d% -f5

Linux——文件处理工具(一)

df |head -n 4 |tail -n 1 |cut -c 44-46(最后一个命令是依靠切割字符

Linux——文件处理工具(一)

(5)cutpaste

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

cut d: f1 /etc/passwd

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

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

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

paste [OPTION]… [FILE]…paste f1 f2

Linux——文件处理工具(一)

-d 分隔符:指定分隔符,默认用TAB   paste -d 指定的分隔符 文件1 文件2

Linux——文件处理工具(一)

-s : 所有行合成一行显示 paste s f1 f2

Linux——文件处理工具(一)

补充:cat 合并多个文件(不足:一个文件显示一行)

Linux——文件处理工具(一)

练习:显示当前主机第一个网卡的IP地址

ifconfig
|head
n 2| tail n 1| tr s ‘ ‘ : |cut d: f4

Linux——文件处理工具(一)

6分析文本的工具

v 文本数据统计: wc

v 整理文本: sort

v 比较文件: diffpatch

7收集文本统计数据wc

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

Linux——文件处理工具(一)


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

$ wc story.txt

39      237        1901 story.txt

行数 单词数
字节数

wc -l 来只计数行数

Linux——文件处理工具(一)

wc -w 来只计数单词总数

Linux——文件处理工具(一)

wc  -c 来只计数字节总数

Linux——文件处理工具(一)

wc -m 来只计数字符总数

Linux——文件处理工具(一)


8文本排序sort

v把整理过的文本显示在STDOUT,不改变原始文件

$ sort [options] file(s)

v常用选项

Ü -r 执行反方向(由上至下)整理

Ü -n 执行按数字大小整理

Linux——文件处理工具(一)

Ü -f 选项忽略(fold)字符串中的字符大小写

Linux——文件处理工具(一)

 u 选项(独特, unique)删除输出中的重复行

Linux——文件处理工具(一)

t c 选项使用c做为字段界定符

Linux——文件处理工具(一)

Linux——文件处理工具(一)

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

Linux——文件处理工具(一)

9uniq

v uniq命令:去除连续重复行

Linux——文件处理工具(一)

v uniq [OPTION]… [FILE]…

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

d: 仅显示重复过的行

u: 仅显示不曾重复的行

Linux——文件处理工具(一)

v 常和sort 命令一起配合使用:去除非重复的连续行

sort userlist.txt | uniq c

Linux——文件处理工具(一)

10比较文件

diff 命令 比较两个文件之间的区别

Linux——文件处理工具(一)

11复制对文件改变patch

v diff -u   适用于生成补丁文件。

v patch -b 选项来自动备份改变了的文件

练习:f1 f2两个文件中删除f2后利用补丁文件还原f2文件

diff u f1 f2 > diff.log 生成补丁

mv f2
f2.rm
  相当于删除了文件。

patch b f1 diff.log    通过补丁还原文件

mv f1
f2
    还原原始的新文件名

mv
f1.orig f1
  还原原始的旧文件名

diff
f2 f2.rm
  比较还原回来的新文件与被删除的文件,发现没有区别

Linux——文件处理工具(一)

原创文章,作者:lss,如若转载,请注明出处:http://www.178linux.com/83127

(0)
lsslss
上一篇 2017-07-29 15:42
下一篇 2017-07-29 16:35

相关推荐

  • linux中的马里奥之重定向与管道详解

    你背单词时 阿拉斯加的鳕鱼正跃出水面 你算数学时 太平洋彼岸的海鸥振翅掠过城市上空 你晚自习时 极图中的夜空散漫了五彩斑斓 但是少年你别着急 在你为自己未来踏踏实实地努力时 那些你感觉从来不会看到的景色 那些你觉得终身不会遇到的人 正一步步向你走来。          ——网易云热评《Something Ju…

    2017-07-22
  • 基于haproxy实现wordpress动静分离

    环境:centos 6.8 注:此处省略对于各服务器的IP配置。 一:图示讲解      用户访问vip,通过haproxy代理得到服务器的资源。此架构下基于keepalived对haproxy做负载均衡(此种两种软件装在同一台服务器),基于haproxy对Nginx和apache做负载均衡,Nginx和Apache使用共享存储…

    2017-05-18
  • 主从DNS 子域授权 基于域的转发和DNS视图的配置

    先把软件包的安装: yum install bind yum install bind-utils(DNS的查询工具,dig nslookup host) 事先我已经安装好了。 主从DNS的网络拓扑图: 主从DNS配置: 主从DNS服务器的同步可以有:完全区域同步(AXFR)和增量区域同步(IXFR),配置过程中要注意,增量备份时,需要调整区域文件中的SOA…

    Linux干货 2015-08-24
  • SHELL脚本编程之变量的种类

    变量 在进行脚本编程的时候,经常会使用到不同类型的变量,根据变量的生效范围,可大致分为以下的几类: 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程,包括当前shell进程的子shell进程都是无效的,它的作用域就是当前shell进程 环境变量:生效范围是当前shell进程及其子进程 局部变量:生效范围是当前shell进程中某…

    Linux干货 2016-08-12
  • 第三周(3):课堂练习与作业

    课堂练习: 1、找出ifconfig命令结果中本机的所有IPv4地址 [root@centos6 ~]# ifconfig | tr -cs '[0-9].' '\n'|sort -ut. -k3n 127.0.0.1 10.1.…

    Linux干货 2016-08-08
  • 文本处理工具基础应用

                                                      &nbsp…

    Linux干货 2016-08-07