Bonjour
Auriez vous une idée pour passer en majuscule tous le contenu d'un fichier situé entre 2 positions dans un fichier .txt (Sous Unix/linux en shell ou Windows en PowerShell )
exemple
Voici un fichier test.txt
je souhaite passer en majuscule uniquement les caractères situés entre les positions 23 à 72 ce qui me donnera le résultat suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1 2 3 4 5 6 7 8 9 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 12345 Ceci Est Un TEST A partir D'ici tous passer en Majuscule Jusque La Ceci est un Test 12345 Ceci Est Un TEST A partir D'ici Passe en majuscule La Ceci est un Test 12345 Ceci Est Un TEST A partir en Majuscule ooooooooooooooooooo
Avec awk : c'est OK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1 2 3 4 5 6 7 8 9 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 12345 Ceci Est Un TEST A PARTIR D'ICI TOUS PASSER EN MAJUSCULE JUSQUE LA Ceci est un Test 12345 Ceci Est Un TEST A PARTIR D'ICI PASSE EN MAJUSCULE LA Ceci est un Test 12345 Ceci Est Un TEST A PARTIR EN MAJUSCULE OOOOOOOOOOOOOOOOOOO
mais avec sed et les expressions régulières auriez vous une idée
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat ok.txt | awk '{print substr($0,1,22) toupper(substr($0,23,49)) substr($0,72)}'
Merci de votre aide
@Argoet
Partager