Supprimer les caractères à l'aide de awk ou sed
J'ai une commande de sortie à partir de laquelle je veux enlever les guillemets "
.
Regex:
strings -a libAddressDoctor5.so |\
grep EngineVersion |
awk '{if(NR==2)print}' |
awk '{print$2}'
De sortie:
EngineVersion="5.2.5.624"
Je voudrais savoir comment faire pour supprimer les caractères non souhaités avec awk
ou sed
.
sed 's/"//g'
- supprime tous les"
- Merci, ce n'
s
signifie ici? - Le
s
signifie 'remplacer'. La lecture's/"//g'
de gauche à droite, il est dit de remplacer "avec rien, et le faire pour tous" dans l'entrée.
Vous devez vous connecter pour publier un commentaire.
Utilisation de sed de substitution:
sed 's/"//g'
s/X/Y/
remplace X par Y.g
signifie que toutes les occurrences doivent être remplacés, et pas seulement le premier.En utilisant simplement awk que vous pourriez faire (j'ai aussi raccourci certaines de votre tuyauterie):
Je ne peux pas vérifier pour vous car je ne sais pas exactement à vos commentaires, mais les ouvrages suivants:
Voir aussi cette question sur la suppression des guillemets simples.
gsub
fonction est ce que j'ai dû supprimer des caractères directement à partir d'un script awk, pas de la ligne de commande, je vous remercie.tr
peut être plus concis pour enlever les caractères quesed
ouawk
, en particulier lorsque vous souhaitez supprimer un ou plusieurs caractères d'une chaîne.La suppression des guillemets:
Retrait de différents types de supports:
-d
signifie "supprimer".