Je comprends que sed
c'est une commande pour manipuler un fichier texte.
D'après ma recherche sur Google, il semble que cela -i
signifie effectuer l'opération sur le fichier lui-même, est-ce correct?
Et alors '1d'
?
Dans sed
:
-i
L'option modifiera le fichier d'entrée sur place
'1d'
supprimera la première ligne du fichier d'entrée
Exemple:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Notez que, la plupart du temps, c'est une bonne idée de faire une sauvegarde tout en utilisant l' -i
option afin que vous ayez le fichier d'origine sauvegardé en cas de changement inattendu.
Par exemple, si vous le faites:
sed -i.orig '1d' file.txt
le fichier d'origine sera conservé tel quel file.txt.orig
et le fichier modifié le sera file.txt
.
-i
pour voir ce qui se passe en premier, puis utiliser-i
pour modifier réellement le fichier.1. a)
Imprime le contenu de
file.txt
; à l'exclusion de la première ligne; à la sortie standard.2. a)
Imprime le contenu de
file.txt
; à l'exclusion de la première ligne; retour dansfile.txt
; écraser l'original.2. b)
Crée une sauvegarde de l'original (as
file.txt.back
), avant d'apporter des modifications. Sauf avec FreeBSDsed
, le suffixe (ici.back
) doit être attaché à l'-i
option (dans le même argument, pas d'espace entre-i
et.back
).3. a)
Imprime le contenu de
file.txt
; à l'exclusion de la deuxième ligne; à la sortie standard.(La spécification d'un nombre supprimera la ligne correspondante).
Également compatible avec le
-i
drapeau.3. b)
Imprime le contenu de
file.txt
; excluant tout sauf la première ligne; à la sortie standard.(En d'autres termes, seule la première ligne est imprimée).
Également compatible avec le
-i
drapeau.3. c)
Imprime le contenu de
file.txt
; à l'exclusion de la dernière ligne; à la sortie standard.Également compatible avec le
-i
drapeau.la source
En
sed -h
avoir:et "effectuer l'opération sur le fichier lui-même." c'est absolu.
Et a
man
déclaré: «Sed est un éditeur de flux. Un éditeur de flux est utilisé pour effectuer des transformations de texte de base sur un flux d'entrée (un fichier ou une entrée à partir d'un pipeline). 'comme votre question,
signifie: supprimer la première ligne du fichier
"file_name"
à l'endroit et sauvegarder dans le fichier. (tout comme modifier le fichier et supprimer directement la première ligne.)la source