正则表达式 --文件格式化处理

一、格式化打印 printf

字符意义
\a警告声音输出
\b退格键(Backspace)
\f清除屏幕(form feed)
\n输出新的一行
\r回车(Enter)
\t水平的 [Tab] 按键
\v竖直的 [tab] 按键
\xNNN 为数字,可以转换为字符
C语言
%nsn 为数字,s 为 string,即多少个字符
%nin 为数字,i 为 integer,即多少个整数字符
%N.nfn、N为数字,f 表示浮点数,%5.2 表示有 5 位小数,两位小数点

二、awk

1. 语法

awk '条件类型1{动作1}条件类型2{动作2}...' filename

2. 流程

(1)读入第一行,将第一行的数据填入 $0(一整行),$1(第一列)

(2)依据类型的判断,判断是否需要进行后面的动作

(3)做完所有的动作与条件类型

(4)重复(1)~(3),直到数据结束

3. 变量

变量名称代表意义
NF每一行所拥有的字段总数
NR目前 awk 处理的是第几行的数据
FS目前的分隔符,默认是空格键

4. 逻辑运算符

          运算符                                  代表意义
              >                                    大于
             <                                    小于
            >=                                大于等于
            <=                                小于等于
            ==                                    等于
            !=                                不等于

4. 示例

(1)查看最近的 5 次登录记录

last -n 5

(2)使用 awk 打印用户名和 IP

last -n 5 | awk '{print $1 "\t" $3}'

(3)查看行列

last -n 5 | awk '{print $1 "\tlines:" NR "\t columes:" NF}'

三、文件比较工具

1. diff

(1)参数

-b:忽略一行当中仅有多个空白的区别,例如:hello word 与 hello        word

-B:忽略空白行的区别

-i:忽略大小写的不同

(2)示例

2. cmp

以字节作为比较

3. patch

// 更新
patch -pN < patch_file
// 还原
patch -R -pN < patch_file

(1)参数

-p:后面的 N 表示取消几层目录的意思

-R:还原,将新的文件还原成旧的文件

(2)用例

patch -p0 < test.patch
patch -R -p0 < test.patch

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值