Questo script usa sed per cambiare tutto "" in "nuove cose". Come cambierebbe il "" dopo il yyy: usando sed o qualcos'altro?
cat >sample.txt <<EOF
xxx:
""
yyy:
""
}
EOF
sed --expression='s/""/"new stuff"/' sample.txt
Questo script usa sed per cambiare tutto "" in "nuove cose". Come cambierebbe il "" dopo il yyy: usando sed o qualcos'altro?
cat >sample.txt <<EOF
xxx:
""
yyy:
""
}
EOF
sed --expression='s/""/"new stuff"/' sample.txt
Risposte:
Potrei non capire la tua domanda. Se si desidera sostituire SOLO il valore dopo 'yyy', utilizzare la risposta precedente. Se vuoi sostituire QUALSIASI valore dopo 'yyy', prova questo one-liner:
sed --expression='/yyy/,$ s/""/"new stuff"/g' sample.txt
Non l'ho provato: D ...
Risposta raccolta da O'Reilly - Sed & Awk 2nd Addition Intorno a pagina 152
Scrivi uno script in un file
/yyy\:$/{
N
s/yyy\:\n\"\"/yyy\:\
\"new stuff\"/
}
Applicalo ai tuoi dati con il solito
sed -f script sample.txt
Questo script dice cercare yyy :. Quando viene trovato, leggi un'altra riga nel buffer dei pattern (suona come Star Trek Transporter). Ora fai come / comando sulle linee unite. Quindi stiamo cercando yyy: newline "". Se trovato sostituire con yyy: \ notice backslash effettivo newline quindi "new stuff"
In bocca al lupo