Limite buffer SED ???
tht123
Messages postés
72
Statut
Membre
-
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
BONSOIR,
Suite à l'aide de JIPLICY, avec comme exemple fich01.txt et le .sh ci dessous on a sans probleme le resultat
attendu, voir tout en bas. (Effacement de doublons)
PROBLEME : Quand le nombre de ligne devient grand mon systeme cygwin plante en me donnant comme messages :
sed: cannot rename ./sedXXXXX: permission denied
sed: cannot rename ./sedXXXXX: permission denied
sed: cannot rename ./sedXXXXX: permission denied
.....
....
$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase.
Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase.
Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase.
$ cat tht123.sh
#! /bin/bash
while read line
do
var=$(echo "$line" | sed 's/.\{6\}\(.\{18\}\).*/\1/')
while [ $(grep -o "$var" <<<"$line" | wc -l) -gt "1" ]
do
sed -i '/'"$var"'/ s///2' "fich01.txt"
line=$(sed -n '/'"$var"'/p' "fich01.txt")
done
done < fich01.txt
$ ./tht123.sh
[jp@MDK tmpfs]$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 002 DEF de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 003 GHI de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase;
merci++++++
Suite à l'aide de JIPLICY, avec comme exemple fich01.txt et le .sh ci dessous on a sans probleme le resultat
attendu, voir tout en bas. (Effacement de doublons)
PROBLEME : Quand le nombre de ligne devient grand mon systeme cygwin plante en me donnant comme messages :
sed: cannot rename ./sedXXXXX: permission denied
sed: cannot rename ./sedXXXXX: permission denied
sed: cannot rename ./sedXXXXX: permission denied
.....
....
$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase. Champ ref : 001 ABC de la phrase.
Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase. Champ ref : 002 DEF de la phrase.
Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase. Champ ref : 003 GHI de la phrase.
$ cat tht123.sh
#! /bin/bash
while read line
do
var=$(echo "$line" | sed 's/.\{6\}\(.\{18\}\).*/\1/')
while [ $(grep -o "$var" <<<"$line" | wc -l) -gt "1" ]
do
sed -i '/'"$var"'/ s///2' "fich01.txt"
line=$(sed -n '/'"$var"'/p' "fich01.txt")
done
done < fich01.txt
$ ./tht123.sh
[jp@MDK tmpfs]$ cat fich01.txt
Champ ref : 001 ABC de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 002 DEF de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase.
Champ ref : 003 GHI de la phrase. Champ de la phrase. Champ de la phrase. Champ de la phrase;
merci++++++
A voir également:
- Limite buffer SED ???
- Family link limite quotidienne ne fonctionne pas - Forum Contrôle parental
- Comment enlever la limite d'ajout sur snapchat - Forum Snapchat
- Familly link problème - Forum Mobile
- Impossible d'ajouter des amis sur Snapchat ✓ - Forum Snapchat
- La limite torrent - Forum Téléchargement
7 réponses
Salut,
Quelle version de "sed" as-tu ?
Quelle version de "sed" as-tu ?
Maximum size for all buffers (pattern space + hold space)
GNU sed: no limit
ssed: no limit
sedmod v1.0: 4096 bytes
HHsed v1.5: 4000 bytes
sed v1.6: [pending]
;-))
Salut,
toutefois :-))
Specifically, use awk or perl if you need to:
* count fields or words on a line. (awk)
* count lines in a block or objects in a file.
* check lengths of strings or do math operations.
* handle very long lines or need very large buffers. (or gsed)
* handle binary data (control characters). (perl: binmode)
* loop through an array or list.
* test for file existence, filesize, or fileage.
* treat each paragraph as a line. (well, not always)
toutefois :-))
Specifically, use awk or perl if you need to:
* count fields or words on a line. (awk)
* count lines in a block or objects in a file.
* check lengths of strings or do math operations.
* handle very long lines or need very large buffers. (or gsed)
* handle binary data (control characters). (perl: binmode)
* loop through an array or list.
* test for file existence, filesize, or fileage.
* treat each paragraph as a line. (well, not always)
Hello,
Comment as tu obtenu ces infos??
En tappant :
sed --v j'ai juste le n° de version 4.1.5
D'autre part, il semble préférable de traduire ??
BAT
Comment as tu obtenu ces infos??
En tappant :
sed --v j'ai juste le n° de version 4.1.5
D'autre part, il semble préférable de traduire ??
BAT
Salut,
D'autre part, il semble préférable de traduire ??
Je te l'accorde vu qu'on est sur un site francophone
Je te conseil aussi de faire un alias pour sed (dans l'idée de rester toujours en français :-))
Source de l'info http://www.student.northpark.edu/pemente/sed/sedfaq6.html
Specifically, use awk or perl if you need to:
Avec la spécification d'utiliser awk ou perl si vous avez besoin de :
* count fields or words on a line. (awk)
compter les champs ou mots sur un linge
* count lines in a block or objects in a file.
compter des blocs de lignes ou des objets dans un fichier.
* check lengths of strings or do math operations.
calculer la longueur des chaines ou faire des opérations mathématiques
* handle very long lines or need very large buffers. (or gsed)
traiter les lignes très longues ou avoir besoin de grands buffers - tampons
* handle binary data (control characters). (perl: binmode)
pour des données binaires (control de caractères)
* loop through an array or list.
utilisation des tableaux ou list pour utilisation de boucles
* test for file existence, filesize, or fileage.
tester l'existence, taille ou date fichier
* treat each paragraph as a line. (well, not always)
traiter chaque paragraphe en tant que ligne (ce n'est pas la chose à faire tout le temps)
D'autre part, il semble préférable de traduire ??
Je te l'accorde vu qu'on est sur un site francophone
Je te conseil aussi de faire un alias pour sed (dans l'idée de rester toujours en français :-))
alias dit='sed'
Source de l'info http://www.student.northpark.edu/pemente/sed/sedfaq6.html
Specifically, use awk or perl if you need to:
Avec la spécification d'utiliser awk ou perl si vous avez besoin de :
* count fields or words on a line. (awk)
compter les champs ou mots sur un linge
* count lines in a block or objects in a file.
compter des blocs de lignes ou des objets dans un fichier.
* check lengths of strings or do math operations.
calculer la longueur des chaines ou faire des opérations mathématiques
* handle very long lines or need very large buffers. (or gsed)
traiter les lignes très longues ou avoir besoin de grands buffers - tampons
* handle binary data (control characters). (perl: binmode)
pour des données binaires (control de caractères)
* loop through an array or list.
utilisation des tableaux ou list pour utilisation de boucles
* test for file existence, filesize, or fileage.
tester l'existence, taille ou date fichier
* treat each paragraph as a line. (well, not always)
traiter chaque paragraphe en tant que ligne (ce n'est pas la chose à faire tout le temps)
Pour ma part mes infos viennent de : http://sed.sourceforge.net/sedfaq.html
Quant à toi, c'est donc la version de GNU sed (gsed) que tu as d'installée, et si on s'en réfère aux infos de lami20j, ça devrait passer :
* handle very long lines or need very large buffers. (or gsed)
??
Quant à toi, c'est donc la version de GNU sed (gsed) que tu as d'installée, et si on s'en réfère aux infos de lami20j, ça devrait passer :
* handle very long lines or need very large buffers. (or gsed)
??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aille,
Pouvez vous m'aider sur l'utilisation de awK??
Si j'ai pigé awk c un peu comme sed on peut matcher des regex et effectuer des boucles?
Y a t il un : "while read line" ou alors dois-je utiliser
While (not(eof))
do
SVP
Pouvez vous m'aider sur l'utilisation de awK??
Si j'ai pigé awk c un peu comme sed on peut matcher des regex et effectuer des boucles?
Y a t il un : "while read line" ou alors dois-je utiliser
While (not(eof))
do
SVP
Re-
Tiens je te file 2 liens :
https://www.grymoire.com/Unix/Awk.html
http://www.salemioche.net/gawk.php
Sinon, "awk" possède bien une instruction "while", et tu peux matcher des regex.
Tiens je te file 2 liens :
https://www.grymoire.com/Unix/Awk.html
http://www.salemioche.net/gawk.php
Sinon, "awk" possède bien une instruction "while", et tu peux matcher des regex.