Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Linux
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 12-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Y no hay que crear el programa, todo se puede desde la linea interactiva...
¿Pero comando a comando o todos juntos del tirón?
Responder Con Cita
  #22  
Antiguo 12-09-2012
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
...aunque hay que tener python...
Python viene de paquete en cada distro Unix/Linux .

Cita:
Empezado por Casimiro Notevi Ver Mensaje
...de "un tirón"...
¿Y si mezclamos python + shell?

Tomando como base el código de mamcx:
Código:
history|python -c 'import sys; print [linea.strip().split()[1] for linea in sys.stdin.readlines()][-10:]'
No es lo ideal, por supuesto. Pero la cosa aquí es si se puede o no.
Responder Con Cita
  #23  
Antiguo 12-09-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero comando a comando o todos juntos del tirón?
Comando a comando. Simplemente escribes python en la terminal y entras a python. Vas escribiendo lo que necesitas.
__________________
El malabarista.
Responder Con Cita
  #24  
Antiguo 12-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por D-MO Ver Mensaje
Pero la cosa aquí es si se puede o no.
Entonces, se puede, se puede...
Responder Con Cita
  #25  
Antiguo 12-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por D-MO Ver Mensaje
Tomando como base el código de mamcx:
Código:
history|python -c 'import sys; print [linea.strip().split()[1] for linea in sys.stdin.readlines()][-10:]'
No es lo ideal, por supuesto. Pero la cosa aquí es si se puede o no.
Últimamente nos andan queriendo meter gol

No digo que no me guste, porque sí me gusta, pero esto que pones DM-O y que se ve tan sencillito, no es lo mismo que describe mamcx. Esto muestra los últimos 10 comandos, no los 10 más usados.

Aparte de este "detalle", en ocasiones el history tiene líneas en blanco (salvo por el número), no sé muy bien porqué, pero eso da al traste con el algoritmo. En python, ¿cómo puedo eliminar las líneas en blanco?

// Saludos
Responder Con Cita
  #26  
Antiguo 12-09-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
No digo que no me guste, porque sí me gusta, pero esto que pones DM-O y que se ve tan sencillito, no es lo mismo que describe mamcx. Esto muestra los últimos 10 comandos, no los 10 más usados.
Me parecio que la idea que dio DM-O es combinar python/bash. Osea, es una forma de simplificar conceptualmente lo que hicieron con muchos otros comandos -que como en mi caso, desconocia- y terminar el trabajo con bash.

Cita:
Empezado por roman Ver Mensaje
Aparte de este "detalle", en ocasiones el history tiene líneas en blanco (salvo por el número), no sé muy bien porqué, pero eso da al traste con el algoritmo. En python, ¿cómo puedo eliminar las líneas en blanco?
Código PHP:
a=['1 ','  ','2']

print [
x.strip() for x in a if x.strip() != ''

>>[
'1''2'
__________________
El malabarista.
Responder Con Cita
  #27  
Antiguo 12-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Gracias! Ahora lo malo es que mi versión de python no tiene collections.Counter. Tendré que posponer la prueba

// Saludos
Responder Con Cita
  #28  
Antiguo 12-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, no es muy compacto, pero es lo que he encontrado hasta ahora con mi versión de python:

Código:
import operator
lineas = open(".bash_history").readlines()
comandos = [linea.strip().split()[0] for linea in lineas if linea.strip() != '']
frecuencias = dict([(comando, comandos.count(comando)) for comando in comandos])
print sorted(frecuencias.iteritems(), key=operator.itemgetter(1), reverse=True)[:10]
// Saludos
Responder Con Cita
  #29  
Antiguo 12-09-2012
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Últimamente nos andan queriendo meter gol


Cita:
Empezado por roman Ver Mensaje
no es lo mismo que describe mamcx. Esto muestra los últimos 10 comandos, no los 10 más usados.
Cita:
Empezado por mamcx Ver Mensaje
Me parecio que la idea que dio DM-O es combinar python/bash...
Con ese mensaje pretendía responder la inquietud de Casimiro de si se podía o no hacerlo "de un tirón" con python, demostrando que en efecto si es posible, sin embargo puede resultar mas complicado por el hecho de tratar de realizar el cuerpo de un script en una sola línea.

Como menciona mamcx arriba, lo mejor es usar la terminal interactiva de python, cuyo nombre hace mérito a lo que nos ofrece: Interactividad.

Pero en ningún momento trato de quitar mérito a bash/shell, que en todo caso, ¿que haríamos sin el/ellos?.

Lo bueno de la variedad, entre otras cosas, es que da para debates largos, cada cual ve las cosas desde su punto de vista. Siempre y cuando no se pierda el respeto, la conversación se vuelve amena y productiva .

Saludos
Responder Con Cita
  #30  
Antiguo 12-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por D-MO Ver Mensaje
Siempre y cuando no se pierda el respeto
¿Te falté al respeto?

// Saludos
Responder Con Cita
  #31  
Antiguo 12-09-2012
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman Ver Mensaje
¿Te falté al respeto?
Noooo... ¡Claro que no!. ¿A caso así se entiende mi comentario?

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comandos en Terminal Server Draker Varios 4 16-10-2008 20:35:10
Mezclar Php y JavaScript lucasarts_18 PHP 9 13-03-2007 22:38:10
Mezclar Delphi5 y Visual Basic 6.0 guiweb Varios 4 23-11-2006 15:50:36
es posible mezclar colores a los tform ronimaxh Varios 5 01-02-2006 20:36:14
Mezclar videos walito Varios 2 21-01-2006 02:21:38


La franja horaria es GMT +2. Ahora son las 22:22:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi