Команда:for i in a b c d; do echo $i;awk -v i="$i" '$2 == i{print $1}' filename| perl -pne "s/\n/ /g";echo " "| perl -pne "s/ /\n/g";done| sed '/^$/d'| sed "N;s/\n/ /g"
выход
for i in a b c d; do echo $i;awk -v i="$i" '$2 == i{print $1}' l.txt | perl -pne "s/\n/ /g";echo " "| perl -pne "s/ /\n/g";done| sed '/^$/d'| sed "N;s/\n/ /g"
a 1 2 3
b 1 2
c 1 2 3 4
d 1
$ awk '/^TEST=/ { print "TEST=MY LINE"; next; }; { print; }' input
aaaa
bbb
ccc
TEST=MY LINE
bdd
mmp
kff
fds
Выполнено 3 способами
команда 1:
awk '/^TEST=/{gsub(".*","TEST=MY LINE",$0)}1' filename
команда2:
sed '/^TEST=/s/.*/TEST=MY LINE/g' filename
команда3
#!/usr/bin/python
import re
k=re.compile(r'^TEST=')
y=open('p.txt','r')
for i in y:
if re.search(k,i):
o=re.sub("k.*","kMY LINE",i)
print o.strip()
else:
print i.strip()
выход
aaaa
bbb
ccc
TEST=ABC DDE FFE GGG
bdd
mmp
kff
fds