什么是Shell包装
包装脚本是指嵌有一个系统命令和程序的脚本,也保存了一组传给该命令的参数。包装脚本使原本很复杂的命令行简单化。这对 sed 和 awk 特别有用。
sed 和 awk 命令一般从命令行上以 sed -e 'commands' 和 awk 'commands' 来调用。把sed和awk 的命令嵌入到Bash 脚本里使调用变得更简单,并且也可多次使用。也可以综合地利用sed 和 awk 的功能,例如管道(piping)连接sed 命令的输出到awk 命令中。保存为可执行的文件,你可以用脚本编写的或修改的调用格式多次的调用它,而不必在命令行上重复键入复杂的命令行。
下面是一个Shell包装的例子:
################################Start
Script#######################################
#!/bin/bash
# 这是一个把文件中的空行删除的简单脚本.
# 没有参数检查.
#
# 你可能想增加类似下面的代码:
#
# E_NOARGS=65
# if [ -z "$1" ]
# then
# echo "Usage: `basename $0` target-file"
# exit $E_NOARGS
# fi
# 就像从命令行调用下面的命令:
# sed -e '/^$/d' filename
#
sed -e /^$/d "$1"
# The '-e' 意味着后面跟的是编辑命令 (这是可选的).
# '^' 匹配行的开头, '$' 则是行的结尾.
# 这个表达式匹配行首和行尾之间什么也没有的行,
#+ 即空白行.
# 'd'是删除命令.
# 引号引起命令行参数就允许在文件名中使用空白字符和特殊字符
#
# 注意这个脚本不能真正的修改目标文件.
# 如果你需要保存修改,就要重定向到某个输出文件里.
exit 0
################################End
Script#########################################
sed 和 awk 命令一般从命令行上以 sed -e 'commands' 和 awk 'commands' 来调用。把sed和awk 的命令嵌入到Bash 脚本里使调用变得更简单,并且也可多次使用。也可以综合地利用sed 和 awk 的功能,例如管道(piping)连接sed 命令的输出到awk 命令中。保存为可执行的文件,你可以用脚本编写的或修改的调用格式多次的调用它,而不必在命令行上重复键入复杂的命令行。
下面是一个Shell包装的例子:
################################Start
Script#######################################
#!/bin/bash
# 这是一个把文件中的空行删除的简单脚本.
# 没有参数检查.
#
# 你可能想增加类似下面的代码:
#
# E_NOARGS=65
# if [ -z "$1" ]
# then
# echo "Usage: `basename $0` target-file"
# exit $E_NOARGS
# fi
# 就像从命令行调用下面的命令:
# sed -e '/^$/d' filename
#
sed -e /^$/d "$1"
# The '-e' 意味着后面跟的是编辑命令 (这是可选的).
# '^' 匹配行的开头, '$' 则是行的结尾.
# 这个表达式匹配行首和行尾之间什么也没有的行,
#+ 即空白行.
# 'd'是删除命令.
# 引号引起命令行参数就允许在文件名中使用空白字符和特殊字符
#
# 注意这个脚本不能真正的修改目标文件.
# 如果你需要保存修改,就要重定向到某个输出文件里.
exit 0
################################End
Script#########################################