十一、Linux Shell脚本:函数与模块化
随着脚本越来越复杂,把所有代码都堆在一起会很难维护。这时就该用函数了,你可以把它看作是创建属于你自己的“新命令”。把一段常用逻辑封装成函数,以后只用喊一声它的“名字”就能调用。给函数“递东西”(传参数)用$1, $2;而函数想“回话”有两种方式:用return返回一个0或非0的“状态码”(表示成功或失败),用echo则能“喊出”具体的数据,让你在外面用$()接住。学会这个,就能开始打造自己的通用工具库了。
十二、Linux Shell脚本:正则表达式
正则表达式就是一套给文本“相亲”的规则,让你不再只能找“张三”,而是能找到所有“姓张、两个字、且名字里不带'伟'”的人。它通过一些“魔术符号”(元字符)来描述模式:比如 . 代表任意字符,* 代表重复任意次,^ 和 $ 则卡住行头行尾。把这些符号组合起来,你就能用grep或sed等工具,从海量文本里精确地捞出你想要的任何格式的数据。
十三、Linux Shell脚本:文本处理三剑客之 sed 与 awk
如果说grep是文本处理的“探照灯”,那sed和awk就是“手术刀”和“瑞士军刀”。sed 擅长按行“动手术”,可以轻松地删除、打印或替换特定行的内容,尤其是它的替换功能(s/.../.../)非常强大。而 awk 更厉害,它天生就能看懂按列(字段)分布的数据,像个小型的Excel。你可以让它只打印某几列,或者根据某一列的值做计算和判断,特别适合生成统计报告。