
En un directorio tengo algunos archivos con extensión .dat, quiero vaciar todos esos archivos sin eliminarlos del directorio.
Intenté lograrlo así pero no funcionó.
> *.dat
-bash: *.dat: ambiguous redirect
Respuesta1
Podrías hacerlo:
:|tee -- *.dat
O el zsh
(con multios
) equivalente:
:>*.dat
Sin embargo, debido a que esto abre todos los archivos al mismo tiempo, puede alcanzar el límite en la cantidad máxima de descriptores de archivos abiertos si hay una gran cantidad de archivos.
Respuesta2
intentar
for x in *.dat
do
> "$x"
done
Básicamente, esto recorre todos los archivos y realiza un análisis >
en ellos.
Respuesta3
Si su sistema tiene la truncate
utilidad (de GNU coreutils), podría hacerlo
truncate -s 0 -c -- *.dat
Establece -s 0
el tamaño en cero, mientras -c
evita la creación de un nuevo archivo con un nombre literal *.dat
en el caso de que no haya coincidencias, si su shell devuelve el archivo sin expandir *.dat
en ese caso.