Al escribir scripts de shell, surgen algunas situaciones en las que debe saber el tamaño de un archivo para su posterior procesamiento en los scripts. En este artículo, aprenderemos cómo medir el tamaño de un archivo y abordar ese tipo de situaciones.
Método 1: Usando el comando ls
Acercarse:
- En primer lugar, crearemos una variable que contendrá la ruta completa del archivo.
- Extraeremos el nombre del archivo de la ruta completa para mostrar el nombre del archivo con el tamaño del archivo.
- Usando el comando ls y cut, extraeremos el tamaño del archivo de la información detallada del archivo.
- Muestra el nombre del archivo con su tamaño.
Guion:
#! /bin/bash # path to the file filepath="/home/amninder/Downloads/cn.zip" # extracting file name from full file path name="${filepath##*/}" # extracting the size of a file size=$(ls -lah $filepath |cut -d ' ' -f 5) #displaying file name and file size echo "FILE SIZE OF $name IS $size"
Producción:
Método 2: Usando el comando stat:
La estadística es una utilidad de línea de comandos de UNIX. Stat toma un archivo como argumento y devuelve la información detallada sobre un archivo/sistema de archivos.
Syntax :stat [option] path/to/file
Nota: Aquí, %s se usa para obtener el tamaño total del archivo, y -c se usa para especificar el formato de salida, es decir, queremos imprimir solo el tamaño total del archivo.
Guion :
#! /bin/bash # path to the file filepath="/home/amninder/Downloads/cn.zip" # extracting file name from full file path name="${filepath##*/}" # extracting the size of a file size=$( stat -c %s $filepath) #displaying file name and file size echo "FILE SIZE OF $name IS $size bytes."
Producción:
Método 3: Usando el comando wc:
wc es un acrónimo de recuento de palabras. Como sugiere su nombre, wc se puede usar para imprimir líneas nuevas, recuentos de bytes, número de caracteres, número de palabras en un archivo.
Sintaxis: wc [OPCIÓN]… [ARCHIVO]…
Aquí, la [OPCIÓN] puede contener cualquiera de los siguientes argumentos:
- -c o –bytes (imprimirá el tamaño en bytes)
- -m o –chars (imprimirá el conteo de caracteres)
- -l o –lines (imprimirá los recuentos de nueva línea)
- -w o –words (imprimirá el número de palabras en el archivo)
Acercarse:
- Cree una variable para almacenar la ruta completa del archivo.
- Usando wc –bytes, encontraremos el tamaño del archivo y lo almacenaremos en otra variable para mostrarlo.
- Muestra el tamaño del archivo.
Guion :
#! /bin/bash # path to the file filepath="/home/amninder/Downloads/cn.zip" # storing file size in a variable. size=$(wc --bytes < $filepath) # displaying file size echo "The size of file is $size Bytes"
Producción:
Método 4: Usando el comando de búsqueda:
find es una utilidad de línea de comandos muy poderosa en Linux para buscar archivos y carpetas. Es flexible, podemos buscar archivos o carpetas usando su antigüedad, tamaño, propietario, tipo de archivo, marca de tiempo, permisos en Linux.
Guion:
#! /bin/bash # path to the file filepath="/home/amninder/Downloads/cn.zip" # storing file size in a variable. size=$(find $filepath -printf %s) # displaying file size echo "The size of file is $size Bytes"
Aquí, proporcionamos el archivo para buscar y recuperar su tamaño usando -printf %s. %s dará como resultado el tamaño del archivo en bytes.
Producción:
Nota: Reemplace la ruta del archivo con la ruta del archivo original.
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA