Comment puis-je utiliser awk pour supprimer tout le texte après un certain caractère ";" qui apparaît sur chaque ligne de mon fichier texte? (J'ai ensuite besoin de courir pour les boucles sur le texte)
Jenny,Sarah,John;North Dakota
Henry,Frank;Illinois
Aaron,Kathryn,Caitlin,Harris;New York
text-processing
awk
Jenny
la source
la source
Réponses:
Il existe deux approches générales.
Définissez
awk
le séparateur de champ de ce caractère. Vous pouvez alors obtenir les pièces que vous souhaitez comme$1
:Utilisez
gsub()
pour le remplacer par une chaîne vide:Donc, pour votre exemple:
la source
Voici une réponse avec
sed
- puisque vous ne faites pas vraiment de traitement sur le terrain, awk est probablement exagéré.la source
Et aussi juste
cut
..la source
Parfois, vous pouvez remplacer tous les caractères après un certain mot par une autre chaîne. Par exemple:
original_string="abc blabla foo bar"
et vous voulez remplacer les mots après blabla par "bonjour le monde"la source