sed
Options additionelles
Recherche…
Syntaxe
- -a - (BSD sed) Créer / tronquer tous les fichiers écrits avant le traitement
- -E | -r - Utiliser les expressions régulières étendues
- -i | -I - Reportez-vous à la rubrique sur l' édition sur place
- -l - (BSD sed) Utiliser une sortie mise en tampon de ligne
- -l longueur - (GNU sed) Spécifiez la longueur de
l
encapsulation de ligne de commande - -s - (GNU sed) Traite les fichiers comme des flux séparés
- -u - Ne pas mettre en mémoire tampon la sortie
- -z - (GNU sed) Utilise le caractère NUL pour séparer les enregistrements
- --quiet | --silent - (GNU sed) Synonymes pour
-n
- --expression = commande - (GNU sed) Synonyme de
-e
- --file = fichier_commande - (GNU sed) Synonyme de
-f
- --follow-symlinks - (GNU sed) Suivez les liens symboliques
- --in-place [= extension] - (GNU sed) Synonyme de
-i
- --line-length = length - (GNU sed) Synonyme de
-l
- --separate - (GNU sed) Synonyme de
-s
- --unbuffered - (GNU sed) Synonyme de
-u
- --null-data - (GNU sed) Synonyme de
-z
- --help - (GNU sed) Utilisation de l'impression
- --version - (GNU sed) Version imprimable
Remarques
L'option -E
doit être standardisée dans la prochaine version majeure, voir le problème pertinent .
Retarder la création / troncature des fichiers
Les fichiers écrits avec la commande w
sont créés / tronqués avant l'exécution des commandes.
$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file
De la norme:
Chaque fichier doit être créé avant le début du traitement. Les implémentations doivent prendre en charge au moins dix arguments wfile dans le script; le nombre réel (supérieur ou égal à 10) pris en charge par l'implémentation n'est pas spécifié. L'utilisation du paramètre wfile entraîne la création initiale de ce fichier, s'il n'existe pas, ou remplace le contenu d'un fichier existant.
BSD sed
fournit l'option -a
pour retarder la création / troncature des fichiers jusqu'à ce qu'ils soient écrits avec la commande w
.
$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
> echo The file was not created
> fi
The file was not created
'l' emballage de ligne
La longueur du retour à la ligne lors de l'utilisation de la commande l
est définie par l'implémentation.
De la norme:
Les lignes longues doivent être pliées, avec le point de pliage indiqué par l’écriture d’un suivi de a; la longueur à laquelle le pliage se produit n'est pas spécifiée, mais devrait être appropriée pour le périphérique de sortie.
GNU sed
fournit l'option -l
pour spécifier la longueur à laquelle séparer les longues lignes lors de l'impression avec la commande l
, par défaut à soixante-dix caractères.
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
51
BSD sed
divise les longues lignes au nombre fourni par la variable d'environnement COLUMNS
, si COLUMNS
n'est pas fourni, il se divise à la largeur du terminal, et si COULMNS
n'est pas fourni
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
y y y y y y y y y y $