Это должно немного подстроить ваш код.
awk 'match($0,/aid[^&]*/){print substr($0,RSTART,RLENGTH)}' Input_file
В случае, если в одной строке может быть несколько вхождений aid
, и вы хотите затем распечатать все попробуйте следующее.
awk '
{
while(match($0,/aid[^&]*/)){
print substr($0,RSTART,RLENGTH)
$0=substr($0,RSTART+RLENGTH)
}
}
' Input_file