tamaño de fichero en bash

hola, estoy aprendiendo un poquito de shell script y está interesante el tema, pero tengo alguna duda.

No sé cómo puedo tratar cadenas. Por ejemplo, necesito almacenar en una variable el tamaño de un fichero en kbytes, pero no sé cómo hacerlo. Lo máximo que me he acercado es con:
VARIABLE=$(ls -s -1 | grep nombredelfichero)
Pero me guarda en $VARIABLE el número de KB y el nombre del fichero.

No he encontrado ninguna otra forma de saber el tamaño de un fichero que no sea por ls y llevo un rato buscando por google.

He de decir que sólo llevo unos meses en linux así que estoy en pleno proceso de aprendizaje y me interesa aprender esto.

Un saludo y muchas gracias
ls -l | grep fichero | sed "s/ */ /g" | cut -f5 -d" "


Con sed conviertes los separadores entre los campos de la salida de ls -l a un solo espacio y con cut tomas la quinta columna, teniendo como separador de columnas el espacio (lo que has hecho con sed).

*Delante del asterisco del sed hay dos espacios y detrás de la barra que sigue al asterisco hay un solo espacio.

Saludos

PD: Supongo que habrá mejores formas de hacerlo, pero a mí se me ocurre esta :P
También puedes usar cut, algo así como:
du -k | cut -f1

Un saludo.
Ferdy escribió:stat(1)

Bueno es saberlo :-)
Muchas gracias a todos. Con ls grep y cut creo que sabré hacer lo necesario. De sed tendré que leer más y el stat(1) no he sabido cómo usarlo.

De nuevo, gracias
Pues no has leido mucho:

stat -c '%s' fichero
Pues algo sí, más que nada la página man pero me dejaba el -c
[ayay]

Gracias de nuevo
7 respuestas