Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1021753
  • 博文数量: 361
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1759
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-22 23:18
个人简介

学海无涯 个人blog lnmps.com 新站

文章分类

全部博文(361)

文章存档

2017年(1)

2015年(2)

2014年(55)

2013年(303)

分类: LINUX

2013-07-17 00:43:50


包装脚本是指嵌有一个系统命令和程序的脚本,也保存了一组传给该命令的参数。包装脚本使原本很复杂的命令行简单化。这对 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#########################################
阅读(516) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~