|
发表于 2004-7-22 00:30:48
|
显示全部楼层
sed练习:
1,把Jon's的名字改成Jonathan
- $ sed -e 's/Jon/Jonathan/' sed-datafile
复制代码
2,删除头三行
- $ sed -e '1,3d' sed-datafile
复制代码
3,显示5-10行
- $ sed -ne '5,10p' sed-datafile
复制代码
4,删除包含Lane的行
- sed -e '/Lane/d' sed-datafile
复制代码
5,显示所有生日在November-December之间的行
- $ sed -ne '/\(1[1-2]\)\/\([0-9]*\)\/\([0-9]*\)/p' sed-datafile
- $ sed -ne '/[:::]1[1-2]["/":]/p' sed-datafile
- $ sed -ne '/[:::]1[1-2][/:]/p' sed-datafile
- $ sed -ne '/[:::]1[1-2][//:]/p' sed-datafile
- $ sed -ne '/[:::]1[1-2][//]/p' sed-datafile
- $ sed -ne '/[:::]1[1-2]\//p' sed-datafile
复制代码
这几个好像都行:ask
6,把三个星号(***)添加到也Fred开头的行
- $ sed -e 's/^Fred/***Fred/' sed-datafile
- $ sed -e 's/^Fred/***&/' sed-datafile
复制代码
7,用JOSE HAS RETIRED取代包含Jose的行
- $ sed -e 's/^Jose.*$/JOSE HAS RETIRED/g' sed-datafile
- $ sed -e '/^Jose/c\JOSE HAS RETIRED/' sed-datafile
复制代码
8,把Popeye的生日改成11/14/46
- $ sed -e '/^Popeye/s:\([0-9]*\)\/\([0-9]*\)\/\([0-9]*\):11/14/46:' sed-datafile
复制代码
9,删除所有空白行
- $ sed -e '/^$/{N;s/\n//}' sed-datafile
- $ sed -e '/^$/d' sed-datafile
复制代码
10,写一个脚本,将:
.在第一行之前插入标题PERSONNEL FILE.
.删除以500结尾的工资
.显示文件内容,把姓和名颠倒
.在文件末尾添加THE END
- 1i\PERSONNEL FILE
- s/[0-9]*500$//g
- s/^\([[:alpha:]]*\)\ \([[:alpha:]]*\)/\2, \1/
- $a\THE END
复制代码 |
|