GNU/Linux >> Tutoriels Linux >  >> Linux

Comment convertir un texte spécifique d'une liste en majuscule ?

Vous en faites trop, profitez de votre structure de fichiers pour faire simple !

Si nous trouvons la chaîne [United dans une ligne, tout mettre en majuscule, de l'accolade fermante à la fin de la ligne, donne le résultat que vous recherchez. Traduisant ceci en langage Sed,

sed '/\[United/s/].*/\U&/' file

Notez que ce qui précède est spécifique à GNU Sed. S'il n'est pas disponible mais dans un système POSIX, vous pouvez utiliser Ex (ou voir la version Awk d'αғsнιη) avec une syntaxe similaire :

printf '%s\n' 'g/\[United/s/].*/\U&/' '%p' | ex file

Pour enregistrer les modifications dans le fichier au lieu d'imprimer les résultats, modifiez %p à x .


Utilisation de awk :

awk -F"[][]" '$2 ~/^United/ { $2="["$2"]"; $3=toupper($3); }1' OFS='' infile

dans [...] nous avons défini les deux ] et [ comme séparateur de champs puis en vérifiant par rapport au deuxième champ s'il commence par United texte, si oui alors rajouter [] autour du deuxième fichier (je suppose qu'il n'y a pas d'autre colonne inclinant ces caractères, sinon ces champs manqueront cela); puis nous convertissons la troisième colonne en sa valeur majuscule ; l'idiome 1 est le déclencheur awk impression par défaut (une sorte de condition toujours vraie).


Linux
  1. Comment distinguer le binaire des fichiers texte sous Linux

  2. Comment puis-je trouver un fichier spécifique à partir d'un terminal Linux ?

  3. Comment diviser un fichier texte en plusieurs fichiers *.txt ?

  4. Comment convertir une image disque Linux en un fichier sparse ?

  5. Comment sélectionner tout le texte d'un fichier avec nano ?

Comment afficher les données d'un fichier texte sous Linux

Script bash :comment lire des données à partir de fichiers texte

Comment extraire des adresses e-mail d'un fichier texte sous Linux

Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux

Comment supprimer tous les espaces blancs d'un fichier texte

Comment faire écho dans le fichier