Utilisation sed awk
Résolu/Fermé
A voir également:
- Utilisation sed awk
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- La ressource demandée est en cours d'utilisation - Forum Téléphones & tablettes Android
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Shell
12 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 15:36
15 avril 2010 à 15:36
hello
avec awk
avec awk
$ cat a4 mot 1; ; mot1_changé mot 2 ; ; mot_2 changé mot n; ; mot n changé $ $ awk 'BEGIN{FS=OFS=";"};{"date"|getline x; $2=x;print}' a4 mot 1;Thu Apr 15 15:33:52 CEST 2010; mot1_changé mot 2 ;Thu Apr 15 15:33:52 CEST 2010; mot_2 changé mot n;Thu Apr 15 15:33:52 CEST 2010; mot n changé $
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 15:54
15 avril 2010 à 15:54
awk ne peut pas modifier directement le fichier.
faire
cp fichier fichier.org
awk 'BEGIN{FS=OFS=";"};{"date"|getline x; $2=x;print}' fichier.org > fichier
faire
cp fichier fichier.org
awk 'BEGIN{FS=OFS=";"};{"date"|getline x; $2=x;print}' fichier.org > fichier
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 15:58
15 avril 2010 à 15:58
tu écrases fichier.org ou alors utiliser sed
$ cat a4 mot 1; ; mot1_changé mot 2 ; ; mot_2 changé mot n; ; mot n changé $ $ sed -i 's/;/;'"$(date)"'/' a4 $ cat a4 mot 1;Thu Apr 15 15:56:04 CEST 2010 ; mot1_changé mot 2 ;Thu Apr 15 15:56:04 CEST 2010 ; mot_2 changé mot n;Thu Apr 15 15:56:04 CEST 2010 ; mot n changé $
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
désolé de t'embêté mais quand l'opération s'effectu nfois la date s'inscrit n fois
mot_in;Thu Apr 15 16:02:34 CEST 2010Thu Apr 15 16:02:26 CEST 2010; mot_chang
mot_in;Thu Apr 15 16:02:34 CEST 2010Thu Apr 15 16:02:26 CEST 2010; mot_chang
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
Modifié par dubcek le 15/04/2010 à 16:22
Modifié par dubcek le 15/04/2010 à 16:22
ben oui si tu réedites le fichier, il va remettre la date, tu veux ajouter la date seulement si elle n'y est pas ?
essaye
sed -i 's/;[ ]*;/;'"$(date)"';/'
essaye
sed -i 's/;[ ]*;/;'"$(date)"';/'
au début l'espace entre les deux mots est vide en l occurence
mot1; ;mot_nvo
aprés jr vais mettre une date
mot1; date ;mot_nvo
s'il a été modifié encore j'aimerais qu'il soit ainsi
mot1; date1 ;mot_nvo2
la date un doit être écrasé merci beaucoup de ton aide
mot1; ;mot_nvo
aprés jr vais mettre une date
mot1; date ;mot_nvo
s'il a été modifié encore j'aimerais qu'il soit ainsi
mot1; date1 ;mot_nvo2
la date un doit être écrasé merci beaucoup de ton aide
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 16:27
15 avril 2010 à 16:27
essaye
sed -i 's/;.*;/;'"$(date)"';/'
sed -i 's/;.*;/;'"$(date)"';/'
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 avril 2010 à 16:38
15 avril 2010 à 16:38
Il ne faut pas qu'il y ait un autre ";" dans la ligne, sans quoi la gourmandise des regex bouffera tout ;-(
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 16:47
15 avril 2010 à 16:47
comment l'éviter ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 avril 2010 à 16:48
15 avril 2010 à 16:48
's/;[^;]*;/;'"$(date)"';/'
une dernière question si j'ai un mot1; date1;date2 pour changer le date2; j'utilise la même commande? je change juste les paramètres ? yep
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 avril 2010 à 17:29
15 avril 2010 à 17:29
essaye
sed -i 's/;[ a-zA-Z0-9:]*/;'"$(date)"'/2'
sed -i 's/;[ a-zA-Z0-9:]*/;'"$(date)"'/2'
15 avril 2010 à 15:47