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)
上一篇 2017-07-29 15:42
下一篇 2017-07-29 16:35

相关推荐

  • Linux用户和组的相关命令(二、组的相关命令)

    用户和组之间息息相关。创建用户时 ,Linux系统会默认生成一个与用户名相同的组,这个组是用户的私有组,也是用户的主组。对用户来说,主组有且只有一个,但是可以有零个或多个附加组。可以在组内设置组管理员来管理组内的用户列表,组管理员可以删除用户列表内的组员。组管理员不唯一,可以有零个或多个。 关于组及其属性和组密码及其属性的有关信息保存在/etc/group和…

    2017-07-22
  • N25-Bazinga-第四周作业

    N25-Bazinga-第四周作业 1.复制/etc/ske1目录为/home/tuser1,要求/home/tuser及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost ~]# cp -a /etc/skel/ /home/tuser1 [root@localhost&nbsp…

    Linux干货 2016-12-21
  • vim编辑器

    vim编辑器三种模式转换 G跳到尾行 gg:跳到首行 H:跳到当前页的首行 L: 跳到当前页的尾行 M: 跳到当前而的中间行 dd: 删除光标所在的行 #dd:多行删除 yy:复制行 #yy: 复制多行  Y: 复制整行 cc:删除当前行并输入新内容 #cc:删除多行 C:删除当前光标到行尾,并切换成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05
  • useradd命令

    useradd创建用户 使用格式: useradd[options] LOGIN -c:备注信息保存在passwd的备注栏中。 -d:用户登入时的主目录 -e:账号的失效日期,缺省表示永久有效。 -f:密码过期后多少天关闭该账号。 -g:用户所属组。 -G:用户所属的附加群组。 -m:自动创建用户的登入目录。 -M:不要自动创建用户的登入目录。 -n:取消创…

    Linux干货 2017-12-20
  • 浅谈Android应用HTTP框架选型

    我们知道,Android应用主要是通过客户端-服务器的方式进行数据交互,一般在APP开发时可能是一个接口对应一个显示模块,这样的设计会让客户端更新时很麻烦。为了解决这个问题,通常的做法是和服务端之间定义协议,设计显示模式,进而达到实时更新UI界面的目的,增加或删除显示模块时不需要让用户手动更新apk,这种方法最常见的就是在做活动或者广告的时候用到。以我们的优…

    2016-06-22
  • 文件管理命令及文件名通配

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录管理类的命令 mkdir 用法: mkdir [选项]… 目录… 选项:  -p 递归创建多个目录 实例: [root@centos7 ~]# mkdir -p /tmp/jerry/2016/…

    Linux干货 2016-11-06