|
|
|
|
kenchyne, le vendredi 6 avril 2007 à 17:06:02Configuration: Windows XP Internet Explorer 6.0 AIX SUN SOLARIS
|
Salut, myvar="toto"
cat $fic | awk '{ sub(/'$myvar'/,"commentaire"); print}'Petit exemple :[jp@MDK trash]$ cat fich.txt
Je m'appelle Toto
et moi Tutu
et mon frère Titi.
[jp@MDK trash]$ var="Toto"
[jp@MDK trash]$ cat fich.txt | awk '{ sub(/'$var'/,"Tata");print}'
Je m'appelle Tata
et moi Tutu
et mon frère Titi.
[jp@MDK trash]$;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
si j'utilise un SED, je me retrouve avec plusieurs contenu de fichier. Le sed -i -e "s/$mot_a_remplacer/\* $mot_a_remplacer/g" $fic n'est pas faisable sous mon OS....bizarre...
Non, pas tant que ça. Ça dépend en fait de la version de "sed". Le switch "-i" ne fonctionne qu'avec les version supérieures à 3.02 (GNU-sed), et je pense que sous Solaris, ta version doit être inférieure. Mais néanmoins tu peux passer par un fichier temporaire : sed -e 's/'$var'/commentaire/' < fichier > fichier.tmp mv fichier.tmp fichier Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé.
|
Bonjour
je voudrais remplacer dans une chaine les caractères accentués par des non accentués mais cela uniquement sur les 200 premiers caractères de chaque ligne. Avez-vous une idée pour faire cela? |
Merci |
Salut,
La prochaine fois ouvre un nouveau thread plutôt que de poster à la suite d'un post n'ayant aucun rapport avec ta requête, t'auras plus de chance d'obtenir une réponse ! Tiens tu peux essayer de faire ça avec "GNU sed" (rajoute l'option "-i" pour la modification du fichier et "-i.BAK" pour une sauvegarde du fichier original) : $ cat plop
àaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
ÀaéeÈeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
àaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
àaéeèeÔoùuïiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
àaÉeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
$ sed '
h
s/\(^.\{12\}\).*/\1/
y/àâéèêëîïôöùûü/aaeeeeiioouuu/
y/ÀÂÉÈÊËÎÏÔÖÙÛÜ/AAEEEEIIOOUUU/
x
s/^.\{12\}\(.*\)/\1/
x
G
s/\n//
' plop
aaeeeeoouuiiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
AaeeEeoouuiiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
aaeeeeoouuiiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
aaeeeeOouuiiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
aaEeeeoouuiiàaéeèeôoùuïiàaéeèeôoùuïiàaéeèeôoùuïié
$Remplace "12" par "200" dans ton cas.
;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Merci Beaucoup c'est nikel ! |
Pardon, je reviens sur cette question car lorsque je fais la manipulation avce plus de 250 caractères cela ne fonctionne pas. |
Tu peux poster un bout de ton fichier sur C-joint, s'teuplé que je puisse faire des tests, merci ;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Pardon je n'ai pais eu le temps de revenir avant,
j'ai trouvé une autre commande : (remplace les é par des e dans les 440 premiers caractères de chaque ligne du fichier) awk '{ temp=substr($0,1,440) ; gsub("é","e",temp) ; print temp substr($0,441) } ' fic > fic2 Merci bcp pour ton aide. |
| 08/11 22h53 | [Shell] Transferer des fichiers via ssh | Shell |
| 03/11 18h56 | [Shell] Créer un fichier vide | Bash |
| 14/01 20h27 | [Windows] Suppression fichier impossible / dossier insupprimable | Windows |
| 02/01 02h31 | [Sécurité] Hijackthis et logiciels de désinfection | Sécurité |
| 10/02 11h16 | Codes d'erreur de Windows | Windows |
| 20/08 16h51 | [SH] Récupérer lignes fichiers texte | 10 |
| 18/07 10h47 | Sélection de lignes avec AWK | 8 |
| 28/06 23h37 | Remplacer le fichier ieframe.dll | 1 |
| 26/05 18h22 | Script shell: fonction taille fichier/dossier | 4 |
![]() | WinMerge - WinMerge est un outil libre permettant de comparer visuellement des fichiers textes et de simplifier la fusion de leurs... | Catégorie: Développement Licence: Open Source |
![]() | FlyakiteOSX - FlyakiteOSX est un pack de transformation ou de personnalisation de Windows XP. Il permet de transformer l'apparence externe... | Catégorie: Emulation Licence: Freeware/gratuit |
![]() | SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des... | Catégorie: Telnet/SSH Licence: Open Source |
![]() | ShellEnhancer - ShellEnchancer est un programme d'amélioration des fonctions de base de Windows. Il rend les interfaces plus stables et plus... | Catégorie: Personnalisation Licence: Freeware/gratuit |
![]() | Shellshock: Nam 67 | Catégorie: Jeu vidéo Xbox | 3.00 € Micromania |
![]() | M and M's Shell | Catégorie: Jeu Playstation | 5.51 € PriceMinister |
![]() | Ghost In The Shell | Catégorie: Jeu vidéo PS2 | 9.00 € Micromania |
![]() | Medal Of Honor : | Catégorie: Jeu vidéo PS2 | 5.98 € Surcouf |