Entiendo que sed
es un comando para manipular archivos de texto.
Desde mi Google, parece que -i
significa realizar la operación en el archivo en sí, ¿es correcto?
¿Qué hay de '1d'
?
En sed
:
-i
la opción editará el archivo de entrada en el lugar
'1d'
eliminará la primera línea del archivo de entrada
Ejemplo:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Tenga en cuenta que, la mayoría de las veces, es una buena idea hacer una copia de seguridad mientras usa la -i
opción para que tenga una copia de seguridad del archivo original en caso de cualquier cambio inesperado.
Por ejemplo, si haces:
sed -i.orig '1d' file.txt
el archivo original se mantendrá como file.txt.orig
y el archivo modificado será file.txt
.
-i
ver primero qué sucede y luego usar-i
para cambiar el archivo.1. a)
Imprime el contenido de
file.txt
; excluyendo la primera línea; a la salida estándar.2. a)
Imprime el contenido de
file.txt
; excluyendo la primera línea; copia enfile.txt
; sobrescribiendo el original.2. b)
Crea una copia de seguridad del original (como
file.txt.back
), antes de realizar cambios. Excepto con FreeBSDsed
, el sufijo (aquí.back
) debe adjuntarse a la-i
opción (en el mismo argumento, sin espacio entre-i
y.back
).3. a)
Imprime el contenido de
file.txt
; excluyendo la segunda línea; a la salida estándar.(Especificar cualquier número eliminará la línea correspondiente).
También compatible con la
-i
bandera.3. b)
Imprime el contenido de
file.txt
; excluyendo todos excepto la primera línea; a la salida estándar.(En otras palabras, solo se imprime la primera línea).
También compatible con la
-i
bandera.3. c)
Imprime el contenido de
file.txt
; excluyendo la última línea; a la salida estándar.También compatible con la
-i
bandera.fuente
En
sed -h
tener:y 'realizar la operación en el archivo mismo'. absoluto es.
Y
man
dijo: 'Sed es un editor de stream. Se utiliza un editor de flujo para realizar transformaciones de texto básicas en un flujo de entrada (un archivo o entrada de una tubería).como tu pregunta
significa: eliminar la primera línea del archivo
"file_name"
en el lugar y hacer una copia de seguridad en el archivo. (al igual que editar archivo y eliminar la primera línea directamente).fuente