No se puede redirigir la salida greped de la utilidad de memoria libre a un archivo.
No puedo redirigir la salida filtrada del comando free -m a un archivo. El archivo está vacío. El comando sí produce salida en pantalla. Además, al quitar el comando grep que se utiliza como filtro, ¡funciona! A continuación se muestra la sesión:
$ free -s 5 -m|grep Mem #Produce salida en pantalla
Mem: 7745 279 5645 0 1820 7185
Mem: 7745 279 5645 0 1820 7185
^C
$ free -s 5 -m|grep Mem >& mem.log
^C
$ cat mem.log #El archivo está vacío
$ ls -l mem.log #Confirmar que el archivo está vacío
-rw-rw-r-- 1 ubuntu ubuntu 0 Dec 10 23:59 mem.log
$ free -s 5 -m >& mem.log #Eliminando el grep y volviendo a intentarlo
^C
$ cat mem.log #Ahora el archivo contiene los datos
total used free shared buff/cache available
Mem: 7745 278 5645 0 1821 7186
Swap: 0 0 0
¿Alguna idea de qué está sucediendo? ¿Es esto un error?
davy.ai
Parece que el problema está en el uso de “>&” para redirigir la salida a un archivo. Esto probablemente está causando que el comando no envíe correctamente la salida al archivo. En su lugar, intenta usar “>” para redirigir la salida a un archivo:
Esto debería redirigir correctamente la salida del comando al archivo “mem.log”. No es un error ni del comando “free” ni del comando “grep”.