《linux命令行与脚本编程大全》笔记四

43 阅读1分钟

1、使用sed  p 可以实现正则匹配

1F7C1068-96A3-4E4B-865D-6D314AA52CD1.png

2、使用 sed  N 可以在多行中匹配出对应的字符

608A39A9-3010-4F77-A851-C9C6D401E963.png

3、可以使用 $()  将sed输出重定向到某个变量中

3B380E9C-5286-42B4-9F49-00D282937A9D.png

4、控制下面的变量,可以控制gawk在输入和输出数据的记录和处理方式

E9907E57-E4BC-4A9E-86DB-EBF288664794.png

5、使用gawk 将txt文件中每一行基于 FS 切分,并中间用  OFS 连接

27DF4B19-3B02-4163-B202-83563E7475F0.png

  • 其中txt文件本身为

0856542F-4D7B-4887-8659-B25AE47D2829.png

6、也可以基于数字长度来实现切分

0B0704B3-AB2A-4BA1-ABD0-94ACDF10DD13.png

7、更多的gawk的内建变量

876E14D6-6C0D-4019-B905-4E1B88D28BFC.png

  • 但是使用这些变量,不需要加上 $ 符号

1E37195B-25D5-4AD6-A359-EEA48F913FFF.png

8、gawk中可以自定义参数

B7D099D4-53B3-41D0-A8A1-770E3B5D0E30.png

9、gawk中在命令行中给变量赋值

0998CA92-8299-4270-A804-AAC4AC04CC8C.png

10、可以直接在gawk中使用数组

97D15318-8C3F-4FCF-BB8D-758D6091A565.png

  • var是一个变量,也可以换成其他的

11、如何实现遍历数组,使用for即可

1F64B2CB-9886-440A-B214-DD2BD11A741D.png

  • 但是for并不能保证遍历顺序

12、删除数组元素

F2092799-C870-4E30-A012-CA7A03C4B8E3.png

13、gawk支持if语句

54C2C699-8A33-4C8C-81BB-155FC2C75CE5.png

14、gawk支持while语句

B3718A68-D0F8-4204-A0D7-61D7C63157DB.png

  • 也支持使用break 和 continue

15、gawk支持for语句

A1A8B1D0-02B7-4B91-A5DD-FD5D278338A5.png

16、gawk中的内建函数

F51770D2-A4AD-4BB9-B1F0-F40C4D12D828.png

  • 可以这样使用:

2625DA40-FE8C-4F26-8453-A4812B2B8316.png

17、gawk中的字符串函数

DFFD5821-FF2B-454C-89F1-263D61719374.png

  • 可以这样用

04756E0D-08EC-4D14-82E8-DF9B8EA18A1C.png

18、内建的时间函数

E574F08B-872F-44EE-B82E-1A2B96B1C3F4.png

  • 看看使用范例

5D7FD32F-19F5-4A53-A1B1-698B267C7E3E.png

19、在gawk中使用自定义函数

A4C6D687-28B9-422D-B570-FA8944F1E133.png