- 论坛徽章:
- 0
|
- #!/bin/sh
- # grep3 - prints out three lines around pattern
- # if there is only one argument, exit
- case $# in
- 1);;
- *) echo "Usage: $0 pattern";exit;;
- esac;
- # I hope the argument doesn't contain a /
- # if it does, sed will complain
- # use sed -n to disable printing
- # unless we ask for it
- sed -n '
- '/$1/' !{
- #no match - put the current line in the hold buffer
- x
- # delete the old one, which is
- # now in the pattern buffer
- d
- }
- '/$1/' {
- # a match - get last line
- x
- # print it
- p
- # get the original line back
- x
- # print it
- p
- # get the next line
- n
- # print it
- p
- # now add three dashes as a marker
- a\
- ---
- # now put this line into the hold buffer
- x
- }
复制代码 '
前边的case 就是bug 呀。后边的sed 没有理解。 |
|