3.27 shell总结

一、sed

1. sed主要用来自动编辑一个或多个文件,简化对文件的反复操作

2. sed操作文件内容并没有改变,除非重定向存储输出

3. 语法  -r sed动作支持的是延伸型正规表示法的语法

             -i 直接修改读取的档案内容

              a 新增

              c 取代

              d 删除

              p 打印

              s 替换

4. 用法:sed [options] 'addressCommand' file ...

二、awk

1. 常用命令: -F 指定输入分隔符

                      -v 赋值一个用户定义变量将外部变量传递给awk

2. 基本结构: 三部分是可选的,脚本通常是被单引号或双引号中

                      先执行BEGIN中语句

                      然后执行pattern,逐行扫描文件直到文件全部被读取完毕

                      读至输入流末尾执行end

                             

   3. 内置变量:$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。

                        $0 这个变量包含执行过程中当前行的文本内容。

                        FNR 同NR,但相对于当前文件。

                        FS 字段分隔符(默认是任何空格)

                        NF 表示字段数,在执行过程中对应于当前的字段数

                        NR 表示记录数,在执行过程中对应于当前的行号

                        OFS 输出字段分隔符(默认值是一个空格)

                        RS 记录分隔符(默认是一个换行符)

                        ORS 输出记录分隔符(默认值是一个换行符)

     4.所有用作算数运算符进行操作的时候,操作数自动转为数值,非数值都变为0

     5. 流程控制语句都是类c语言,可用c的逻辑写

你可能感兴趣的:(3.27 shell总结)