Создание моего собственного примера входного файла с номерами в строках, которые соответствуют вызову вашей целевой функции, просто для того, чтобы выделить одинаковые, но не идентичные строки:
$ cat file
1 func(tempID="39849235",count='12');
boofunc(tempID="39849235",count='12');
2 here is one func(tempID="39849235",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
3 and another: func(tempID="39849235",count='12');
4 func(tempID="39849235",count='12');
5 func(tempID="39849235",count='12');
6 func(tempID="39849235",count='12');
boofunc(tempID="39849235",count='12');
7 here is one func(tempID="39849235",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
8 and another: func(tempID="39849235",count='12');
9 func(tempID="39849235",count='12');
10 func(tempID="39849235",count='12');
и использование GNU awk для 3-го аргументадля сопоставления ():
$ cat tst.awk
match($0,/(.*\<func\(tempID=")39849235(",count='12'\);.*)/,a) {
++cnt
if ( (cnt >= beg) && (cnt <= end) ) {
$0 = a[1] id a[2]
}
}
{ print }
.
$ id=12349876
$ awk -v id="$id" -v beg=1 -v end=3 -f tst.awk file
1 func(tempID="12349876",count='12');
boofunc(tempID="39849235",count='12');
2 here is one func(tempID="12349876",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
3 and another: func(tempID="12349876",count='12');
4 func(tempID="39849235",count='12');
5 func(tempID="39849235",count='12');
6 func(tempID="39849235",count='12');
boofunc(tempID="39849235",count='12');
7 here is one func(tempID="39849235",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
8 and another: func(tempID="39849235",count='12');
9 func(tempID="39849235",count='12');
10 func(tempID="39849235",count='12');
.
$ id=12349876
$ awk -v id="$id" -v beg=4 -v end=9 -f tst.awk file
1 func(tempID="39849235",count='12');
boofunc(tempID="39849235",count='12');
2 here is one func(tempID="39849235",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
3 and another: func(tempID="39849235",count='12');
4 func(tempID="12349876",count='12');
5 func(tempID="12349876",count='12');
6 func(tempID="12349876",count='12');
boofunc(tempID="39849235",count='12');
7 here is one func(tempID="12349876",count='12'); right there
func(tempID="99999999",count='12');
func(tempID="39849235",count='123');
8 and another: func(tempID="12349876",count='12');
9 func(tempID="12349876",count='12');
10 func(tempID="39849235",count='12');