afiș pentru prima dată aici și am căutat destul de mult timp, dar nu am găsit un fir pe care să-l înțeleg suficient de bine pentru a-mi rezolva problema.
Am o buclă în scriptul meu care generează anumite variabile prin delimitarea cut -d și vreau să folosesc acele variabile ca intrare pentru sed pentru a modifica un fișier în mod diferit la fiecare iterație. Scriptul meu actual este:
Scriptul meu actual arată astfel:
pentru intrare în $(tail -n 3 filea)
do
a="$(echo $input | cut -d "," -f 1)"
b="$(echo $input | cut -d "," -f 2)"
c="$(echo $input | cut -d "," -f 3)"
ecou $a
ecou $b
eco $c
coada -n 1 fisierb | sed 's,'$a','$c',2'
Terminat
Cu o ieșire de:
K
26
T
KTTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
P
27
E
KKTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
S
31
P
KKTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Unde, de exemplu, șirul din poziția 31 ar trebui înlocuit cu S dacă este P.
Starea mea actuală este că variabilele a și c sunt transferate corect în comanda sed și șirurile respective sunt înlocuite, dar schimbându-le în sed 's,'$a','$c','$b''
oprește orice înlocuire și este solicitată linia nativă (ultima) a fileb.
Știu că a pune o întrebare bună este un alt subiect, dar sper că cineva mă poate ajuta să înțeleg scrierea de aici, astfel încât să pot continua să învăț programarea, deoarece deseori trec peste greșeli ca acestea.