Cambiar el nombre del archivo y eliminar las líneas 2, 3, 4 y la última del archivo de datos y mover el archivo a otra carpeta.
Tengo algunos archivos en una carpeta de Unix
Ejemplo: Myfile_20211121_073749 Myfile_20211120_063448 Myfile_20211119_053345
Quiero ordenar los archivos según la marca de tiempo asc y seleccionar el primer archivo, renombrar el archivo para eliminar el último guión bajo
Myfile_20211119053345
Luego mover el archivo a otra carpeta eliminando la línea 2, 3, 4 y la última línea de los datos del archivo
Datos del archivo: línea1 línea2 línea3 línea4 resto de las líneas última línea
Para ser: línea1 resto de las líneas
davy.ai
Para lograr la tarea anterior, puedes seguir los siguientes pasos:
Usa el comando
ls
con la bandera-1t
para listar los archivos en la carpeta en orden ascendente basado en la marca de tiempo.Esto imprimirá la lista de archivos en orden ascendente de marca de tiempo como se muestra a continuación:
Usa el comando
mv
para renombrar el primer archivo removiendo el último caracter de guión bajo.Usa el comando
sed
para remover las líneas requeridas y luego mueve el archivo a la carpeta deseada usando el comandomv
.Esto removerá las líneas 2 a 4 y la última línea del archivo y luego lo moverá a
carpeta_destino
.Nota: Puedes ajustar los números de línea en el comando
sed
según la estructura específica de tu archivo.