文本处理工具

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

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

    -d DELIMITER: 指明分隔符,默认tab(分隔符只能是单个字符)
    -f FILEDS:
           #: 第#个字段
           #,#[,#]:离散的多个字段,例如1,3,6
           #-#:连续的多个字段, 例如1-6
           混合使用:1-3,7
    -c按字符切割
    --output-delimiter=STRING指定输出分隔符 

查看分区利用率:df |tr -s " " % |cut -d% -f5

Paste_Image.png

提取P地址:ifconfig eth0|head -n2 |tail -n1|tr -s " " : |cut -d: -f4


Paste_Image.png

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

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

 -d 分隔符:指定分隔符,默认用TAB
 -s : 所有行合成一行显示
 paste f1 f2
 paste -s f1 f2
Paste_Image.png

分析文本的工具

文本数据统计:wc

wc[OPTION]... [FILE]... 默认显示文件行数,单词数,字节数,文件名

-c:统计文件字节数
-l:统计文件行数
-w:统计文件单词数
-m:统计文件字符
Paste_Image.png

Paste_Image.png

整理文本:sort

把整理过的文本显示在STDOUT,不改变原始文件
sort[options]file(s)

 常用选项
-r执行反方向(由上至下)整理
-n执行按数字大小整理
-f选项忽略(fold)字符串中的字符大小写
-u选项(独特,unique)删除输出中的重复行
-t c选项使用c做为字段界定符(指定列的分隔符)
-k X选项按照使用c字符分隔的X列来整理能够使用多次(指定第几列)

对/etc/passwd 取用户名和UID,并对UID倒序排序
cut -d: -f1,3 /etc/passwd|sort -t: -k2 -nr

Paste_Image.png

取分区利用率最大值
df |tr -s " " %|cut -d% -f5|sort -n|tail -n1 空间
df -i |tr -s " " %|cut -d% -f5|sort -n|tail -n1 节点

Paste_Image.png

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

uniq[OPTION]... [FILE]...

 -c: 显示每行重复出现的次数
 -d: 仅显示重复过的行
 -u: 仅显示不曾重复的行

连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq-c

Paste_Image.png

Paste_Image.png

Paste_Image.png

比较文件

比较两个文件之间的区别
difffoo.conf-brokenfoo.conf-works
5c5
use_widgets=no
................
use_widgets=yes

注明第5行有区别(改变)


Paste_Image.png

diff命令的输出被保存在一种叫做“补丁”的文件中
使用-u选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件。
patch复制在其它文件中进行的改变(要谨慎使用)
适用-b选项来自动备份改变了的文件
diff-ufoo.conf-brokenfoo.conf-works>foo.patch
patch-bfoo.conf-brokenfoo.patch

Paste_Image.png

Paste_Image.png

以数字的形式体现文件权限

stat -c %a /tmp

Paste_Image.png

推荐阅读更多精彩内容