Foros del Web » Programación para mayores de 30 ;) » C/C++ »

script de shell

Estas en el tema de script de shell en el foro de C/C++ en Foros del Web. Hola, ¿alguien me puede traducir al lenguaje C este script hecho en python, por favor?Gracias. #!/usr/bin/python -tt # -*- coding: utf-8 -*- import commands a=commands.getstatusoutput("df ...
  #1 (permalink)  
Antiguo 28/02/2010, 12:30
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 9 meses
Puntos: 0
script de shell

Hola, ¿alguien me puede traducir al lenguaje C este script hecho en python, por favor?Gracias.

#!/usr/bin/python -tt

# -*- coding: utf-8 -*-

import commands

a=commands.getstatusoutput("df -l")

lineas=a[1].split(’\n’)

# imprimimos la salida

for linea in lineas:

print linea

lineas.pop(0) # quitamos la cabecera
total_bloques=0
total_usado=0
total_disponible=0

for linea in lineas:
campos_linea=linea.split()
total_bloques+=int(campos_linea[1])
total_usado+=int(campos_linea[2])
total_disponible+=int(campos_linea[3])

print

print "Nú́mero total de sistemas de ficheros montados:" + str(len(lineas))
print "Espacio Total:"+str(total_bloques)+"K"
print "Espacio Usado:"+str(total_usado)+"K"
print "Espacio Disponible:"+str(total_disponible)+"K"
  #2 (permalink)  
Antiguo 28/02/2010, 17:25
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 16 años
Puntos: 6
Respuesta: script de shell

Hola, ¿alguien me puede dar 1.000 €, por favor?Gracias.

Python es un lenguaje de muy alto nivel mientras que C es un lenguaje de nivel medio. Esto significa que según que lineas escojas de python, pueden suponer muchas y muchas lineas de código en C. Porqué no pruebas a programarlo tu y, si te atascas, pides ayuda? Lo has probado? Muéstranos que código has probado, porqué no te ha salido, que errores te da, etc.

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #3 (permalink)  
Antiguo 01/03/2010, 04:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: script de shell

Hola, el script de shell me pide lo siguiente:

1. Invoque al mandato df, indicando que limite el listado a los sistemas de ficheros
locales.
2. Sume los valores de las columnas Bloques de 1K, Usado y Dispon
3. Muestre por salida estándar el resultado de forma similar a esta:

S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sda1 38753256 9468596 27331560 26% /
varrun 1020592 156 1020436 1% /var/run
varlock 1020592 0 1020592 0% /var/lock
udev 1020592 48 1020544 1% /dev
devshm 1020592 0 1020592 0% /dev/shm
lrm 1020592 39760 980832 4% /lib/modules/2.6.24-19-generic/volatile
/dev/sda6 197532124 191952 187385096 1% /data

Número total de sistemas de ficheros montados:7
Espacio Total:241388340K
Espacio Usado:9700512K
Espacio Disponible:219779652K

Mi programa es este pero me falta el numero total de ficheros que no sé cómo sacarlo, el espacio total no me sale y no me suma el espacio usado ni el disponible. Agradecería la ayuda, gracias. El script es en lenguaje shell.

#!/bin/bash

df >df

usado=`cat df | head -n8 | tail -n1 | sed "s/ */#/g" | cut -f3,4 -d# | cut -f1 -d#`
disponible=`cat df | head -n8 | tail -n1 | sed "s/ */#/g" | cut -f3,4 -d# | cut -f2 -d#`
total=`expr $usado + $disponible`

cat df

echo "Espacio total:"$total
echo "Espacio usado:"$usado
echo "Espacio disponible:"$disponible

Etiquetas: shell
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.