Comment remplacer un monde si le mot est existent autrement annexez un mot en fin de ligne à l'aide de SED Exemple:
cas 1: Avant de remplacer s'il existe Yzz: p> blockQuote>
xxx pré> Après remplacer si Yzz existe p> blockQuote>
xxx pré> Cas 2: Avant de remplacer s'il n'existe pas Yzz P> blockQuote>
xxx pré> après remplacer p> blockQuote>
xxx pré> p>
3 Réponses :
Je préférerais le faire avec La première condition vérifie si le nom est présent, remplace et imprime, et saute plus d'actions pour cette ligne. La condition suivante vérifie si la ligne se termine par avec (GNU) mais c'est juste Un "hack" rapide: par défaut n'imprime rien ( awk code> avec lequel vous pouvez le faire comme:
nom est code> et si vous l'imprime et ajoute
remplacement code>. Enfin, toutes les autres lignes sont imprimées. P>
SED code> Vous pouvez essayer quelque chose comme: p>
-n code>), mais si la ligne ne correspond pas à
mon père code> que d'imprimer, sinon vérifier si
Nom code> est présent à la ligne et remplace ceci ou s'il n'a pas été présent ajouté ajoute le
remplacéName code>. p> p>
Vous pouvez utiliser ce awk code> qui fonctionnera pour les deux cas:
Vous pouvez le faire comme ceci:
$ echo "$response" | sed -E "3 s/(.*)( [a-zA-Z]+ *$)/\1 DUDETRUSTME/g" my name is xyz my father name is DUDETRUSTME i live at wert
Imo il remplacera ^ mon père nom est $ code> avec
mon nom de père DUDETRUSTME code>. De plus, dans ce cas, le drapeau de fin de code
g code> n'est pas nécessaire.
Voulez-vous que cela se produise uniquement en 2e ligne?
Oui seulement en deuxième ligne