sed 命令的使用及shell判断语句
来源:互联网 发布:c语言获取系统当前时间 编辑:程序博客网 时间:2024/05/14 16:12
sed 命令的使用及shell判断语句
sed—>stream editor 行编辑器,sed [option] ‘address command’ filename
address 有以下几种 n eg ‘3d’ 删除第三行
n1,n2 eg ‘3,7d’ 删除第三行到第七行
/regexp/ eg ‘/^com/d’ 删除以com开头的行
1,/regexp/ eg ‘1,/regexp/d 删除从第一行道匹配到的第一行
0,/regexp/ eg ‘0,/regexp/d 删除从第一行道匹配到的最后一行
1~2 eg ‘1~2d’ 删除1,3,57……奇数行
2~2 eg ‘2~2’ 删除2,4,6,8……偶数行
$ 匹配到文件的最后一行
n,+m eg ’10,+9’ 删除从第十行的后九行
command有以下几种
d 删除
s 替换
p 打印(常与-n联合使用)
a 在当前行之后添加一行
i 在当前行之前添加一行
option 选项
-n 只显示匹配到的行
-e 添加多个命令
-f 后面接文件(内容为sed 除sed的内容,但不加单引号)
-r 使用扩展正侧表达式
sed应用示例:
sed –e [address command] –e [address command] filename
sed –f filename
sed –n ‘1,3p’ filename 显示匹配到的一到三行
sed ‘/first/,/second/d’ filename 删除含有first和second的行
sed ‘n1,n2s/A/a/’ filename 把filename中n1到n2行的A替换成a
命令执行完的状态用$?表示 如果执行成功其值为0,否则为1~255
linux的短路操作符 ||(或) 和&&(与)
shell中条件测试:
1 test expression
2 [ expression ] 方括号与表达式中有空格
3 [[ expression ]]
整数的测试:
1 -gt 大于
2 -ge 大于等于
3 -lt 小于
4 -le 小于等于
5 -eq 等于
6 -ne 不等于
字符串测试:
1 =或== 比较字符串
2 > >= < <=
3 -n 是否为空
4 -z 是否存在
文件测试:
1 -d 是否为目录
2 -e 是否存在
3 -f 是否是普通文件
4 -L(-h)文件是否为连接文件
5 -r –w –x 对文件的权限判断
6 -O -G 同是对文件权限判断(属主,属组)
判断语句
if if statement;then 或 if statement;then 或 if statement;then
执行语句 执行语句 执行语句
fi else elif statement;then
执行语句 执行语句
else
执行语句
while/until while 测试条件;do
执行语句
done
注意while的测试条件一定是可变条件否则会死循环。
bash –n filename 测试脚本的语法错误
bash –x filename 测试脚本的逻辑错误
脚本中引用传进来的参数:直接用$1 $2 $3表示第一个,第二个,第三个参数,如果超过9个用${n}引用
读取数据用read 命令:
read A 后面输入的内容赋给A
read A B 读入的内容按空格分别赋给A和B。如有多个空格,第一个空格前的内容给A,剩下的都给B。
- sed 命令的使用及shell判断语句
- shell脚本的sed命令使用小结
- linux shell tr命令及sed命令使用
- Shell的sed命令
- shell sed命令使用心得
- shell命令使用sed获取ip命令
- 【shell】sed命令及常见用法
- sed 命令 解析及使用
- sed命令的使用
- sed命令的使用
- sed 命令的使用
- sed命令的使用
- sed命令的使用
- sed 命令的使用
- shell编程sed命令使用详解
- shell基础:sed的使用
- shell中sed的使用
- shell中sed的使用
- 网站优化
- TL-R402路由器无法连接分配的账号
- 数据库powerbuilder使用
- 上次忘记写的关于震动的小例子
- TCP/IP之六:路由表与IP选路
- sed 命令的使用及shell判断语句
- [Java] 读取条形码
- 写的比较好的一个介绍android的电源管理
- Stream Order Network
- 组合
- 01背包,完全背包, 多重背包
- 持续集成之路——Maven的Missing artifact问题解决
- 不用库函数,自己实现strcpy和memcpy函数
- 如何在Ubuntu上驱动腾达W541U V2.0 (RT2070)无线网卡【使用2011新驱动】