CONTRIBUTION:
Select ASDF 325 sdfg sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg sdfg 4456 sdrg
PRODUCTION:
Select ASDF 325 XXXX sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg XXXX 4456 sdrg
Donc en bref j'ai besoin de "sed" "sdfg" à "XXXX".
MAIS: uniquement dans les lignes contenant la chaîne "Select ASDF" .. Comment faire? (sed, awk, etc.: \)
g
après dernier=
(à la fin de las
commande). Ce sera comme ça:sed '/Select ASDF/ s=sdfg=XXXX=g'
Si vous ne modifiez la colonne 4 que si elle a la valeur exacte, il est logique d'utiliser des opérateurs d'égalité au lieu d'expressions régulières.
la source
En utilisant
GNU awk
:Production:
MISE À JOUR : éviter
IGNORECASE
pour un non-GNUawk
, et faire correspondre la casse. Merci à jw013 , qui a souligné ce détail:la source
IGNORECASE
est une extension GNUawk
/gawk
.ASDF