linux shell命令小结(二)

1、awk '条件类型1{动作1} 条件类型2{动作2} ...' filename : 处理“每一行栏位内的数据”,默认的栏位分隔符为空格或者制表符(Tab).

列有变量名$1,$2,$3....,而$0表示整个行。

awk的处理流程

a、读第一行,并将第一行的数据填入$1,$2...变量中;

b、依据条件类型的限制,判断是否进行后续动作;

c、做完所有的动作和条件类型;

d、若还有后续行,重复a~c的操作,直到读完所有数据。

------------------------------------------------------------------------------------------

awk内置变量

NF 每一行的栏数

NR 目前处理的第几行

FS 目前的分隔字节,默认是空白键

------------------------------------------------------------------------------------------

BEGIN 关键字 : 使第一行的行为和后续行相同;

awk中的命令以‘;’分隔,或者回车符(Enter)分隔;

awk中的变量不用$。

2、diff [-bBi] from-file to-file : 比较两个文件的差异

-b 忽略一行当中,仅有多个空白的差异

-B 忽略空白行的差异

-i 忽略大小写的差异

3、patch -pN <patch_file : 升级(打补丁)

patch -R -PN <patch_file : 还原

-p : 后面接可以取消几层目录

-R :还原

例子:

先用diff命令来分析新旧文件的差异,再用patch来打布丁。

diff -Naur passwd.old passwd.new > passwd.patch

patch -p0 < passwd.patch


原文地址:https://www.cnblogs.com/lumouren009/p/3179057.html