awk中的内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FNR awk浏览的文件名
FS 设置输入域分隔符
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
shell函数需要注意:
如果两个函数的名称相同,那么后面的将会覆盖前面的,而且不会有提示。
函数必须先定义,再使用
返回值
bash shell把函数当做一个小型脚本,执行完后会返回一个退出状态码
共有三种方式返回状态码
默认状态码
方法一:bash shell 中函数的退出状态码是函数中最后一条语句的退出状态码。
方法二:使用return语句
bash shell允许使用return语句退出函数并返回一个特定的退出状态码。
return 允许使用一个整数来定义退出状态码。
在函数刚结束时,去取得这个状态码,可以获得0~255的状态码。
1 #!/bin/bash
2
3 function test() {
4 echo "test"
5
6 return 222
7 }
8
9 test
10
11 echo $?
程序执行后:
方法三:使用函数的输出
可以用一个变量来存储一个函数的输出,shell不会把函数中read中的内容输出到stdout中
如:result=`f1`
在函数中使用变量:
函数名字和函数的参数必须在同一行
如果传递的是数组,只识别第一个元素。
全局变量:
在脚本中定义的变量都是全局变量,如果没有定义为局部变量。
局部变量
函数内部任何变量都可以声明为局部变量,只需在变量前加local关键字即可。
在脚本中定义的局部变量,函数中是无法访问的。
sed:
sed编辑器可以基于输入到命令行或是存储在命令文本文件中的命令来处理数据流中的数据
sed -f filename 对输入的文件执行filename中的命令
sed -e script 对输入的文件执行script中的命令
sed -n 不要为每个命令生成输出,等待print命令来输出
文件中的sed命令可以使用换行或分号隔开