- 论坛徽章:
- 0
|
回复 3# Shell_HAT
- [cceu@vm-zk02:/home/cceu/]cat log.txt
- #A#00#FileName1 Start#
- #A#01##
- #A#02##
- #B#00#FileName2 Start#
- #B#01##
- #B#02##
- #A#03##
- #A#04##
- #C#00#FileName3 Start#
- #B#03##
- #C#01##
- #C#02##
- #C#03##
- #A#00#FileName4 Start#
- [cceu@vm-zk02:/home/cceu/]awk -F# '{if($4~/FileName1/){inst=$2;print;continue} if($2!="" && $2==inst){if($4~/Start/) exit; print}}' log.txt
- #A#00#FileName1 Start#
- #A#01##
- #A#02##
- #A#03##
- #A#04##
- [cceu@vm-zk02:/home/cceu/]awk -F# '{if($4~/FileName2/){inst=$2;print;continue} if($2!="" && $2==inst){if($4~/Start/) exit; print}}' log.txt
- #B#00#FileName2 Start#
- #B#01##
- #B#02##
- #B#03##
- [cceu@vm-zk02:/home/cceu/]awk -F# '{if($4~/FileName3/){inst=$2;print;continue} if($2!="" && $2==inst){if($4~/Start/) exit; print}}' log.txt
- #C#00#FileName3 Start#
- #C#01##
- #C#02##
- #C#03##
- #C#04##
- [cceu@vm-zk02:/home/cceu/]
- [cceu@vm-zk02:/home/cceu/]cat my_catch_sed.sh
- #!/usr/bin/ksh
- match=`grep -n $1 $2`
- start=`echo $match | awk -F: '{print $1}'`
- inst=`echo $match | awk -F# '{print $2}'`
- sed "${start},/${inst}/{:a;x;N;s/Start/&/;ba;x;q;}" $2 | grep "${inst}"
- [cceu@vm-zk02:/home/cceu/]./my_catch_sed.sh FileName1 log.txt
- sed: 标号 1,/A/{:a;x;N;s/Start/&/;ba;x;q;} 超过 8 个字符。
- [cceu@vm-zk02:/home/cceu/]
复制代码 上面尝试用sed标号,也不熟悉,不知道为什么总是报这个错,请指教,多谢~~
|
|