Comando stat -c en UNIX

Comando stat -c en UNIX

estoy usando elestadísticacomandos para mostrar información de todos los archivos en un directorio, utilizando los siguientes comandos en un script:

  stat -c"%n|%s|%y" <FOLDER>/* | sed -r 'h; s/\|.*$//; s/^/wc -l </e; G;     s/\n/|/; s/^([^|]*\|)([^|]*\|)/\2\1/; s/( [^ ]*){1}$//;s#/#|#'  > Stats.csv

Me da información del archivo en un archivo delimitado por barras verticales, Nombre de la carpeta|Nombre del archivo|Recuentos de filas|Tamaño del archivo|Fecha de llegada de los archivos

Un ejemplo:

AVIL|Applicability_Master_100K.txt|100000|6264377|2019-05-23 12:51:45.454241257
AVIL|Vendor_Master_20190528.txt|22677|3950461|2019-05-29 13:49:43.465444584 
AVIL|Sales_Order_20190527.txt|15056|4328799|2019-05-29 13:50:03.670264272 
AVIL|Purchase_Order_20190529.txt|10110|1514505|2019-05-29 13:49:22.360588383 

quiero cambiarmegabyteaMEGABYTEy elimine los milisegundos en la columna de fecha.

Gracias

Respuesta1

Para eliminar los últimos 10 (diez) caracteres de la línea, los milisegundos y el período delFecha de llegada de los archivoscolumna, usoRdoycortary agrega esto al final de tu expresión:

| rev | cut -c 10- | rev  

información relacionada