Entiendo que sedes un comando para manipular archivos de texto.
Desde mi Google, parece que -isignifica realizar la operación en el archivo en sí, ¿es correcto?
¿Qué hay de '1d'?
Entiendo que sedes un comando para manipular archivos de texto.
Desde mi Google, parece que -isignifica realizar la operación en el archivo en sí, ¿es correcto?
¿Qué hay de '1d'?
Respuestas:
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 -iopció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.origy el archivo modificado será file.txt.
sed '1d' file.txt
Imprime el contenido de file.txt; excluyendo la primera línea; a la salida estándar.
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
Imprime el contenido de file.txt; excluyendo la primera línea; copia en file.txt; sobrescribiendo el original.
sed -i.back '1d' file.txt
Crea una copia de seguridad del original (como file.txt.back), antes de realizar cambios. Excepto con FreeBSD sed, el sufijo (aquí .back) debe adjuntarse a la -iopción (en el mismo argumento, sin espacio entre -iy .back).
sed '2d' file.txt
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 -ibandera.
sed '1!d' file.txt
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 -ibandera.
sed '$d' file.txt
Imprime el contenido de file.txt; excluyendo la última línea; a la salida estándar.
También compatible con la -ibandera.
En sed -htener:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
y 'realizar la operación en el archivo mismo'. absoluto es.
Y mandijo: '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
sed -i '1d' file_name
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).
-iver primero qué sucede y luego usar-ipara cambiar el archivo.