- 论坛徽章:
- 0
|
请问如何获得匹配串第一次出现在文件中位置(行号)?
zengde#findrows zd zd
5
5
zengde#
不应该是这个结果,
getYesOrNo(){
read flag?"do you find next match pattern?[y/n]"
case $flag in
[yY])
return 0;;
[nN])
return 1;;
*)
getYesOrNo
esac
}
##########################
if [ $# -ne 2 ]
then
echo Usage:findrows filename string
exit 1
fi
#####################################
cp $1 ${1}.bak
opf=${1}.bak
string=$2
n=`sed "/${string}/"q ${opf} | sed -n '$='`
echo $n
pos=`sed -n "1,${n}"p zd|sed -n '/d/'=|sed -n '$p'`
echo $pos
文件内容
d
d
d
^L
zd
dd
dsaa
zd
l
zd
l
zd |
|