2010-11-22 43 views
12

Estoy siguiendo algunas palabras clave en Twitter utilizando el siguiente comando. Quiero imprimir solo la propiedad "screen_name" del autor del tweet. Podría obtener el siguiente comando de trabajo pero quiero eliminar "comillas" del autor screen_name. ¿Cómo podría hacer esto?Eliminar citas con SED

curl -N -d @tracking http://stream.twitter.com/1/statuses/filter.json \ 
    -umyuser:mypass | \ 
sed -e 's/[{}]/''/g' | \ 
awk -v RS=',"' -F: '/^screen_name/ {print $2}' 
+0

¿Por qué tienes las cotizaciones adicionales individuales aquí? 'sed-e 's/[{}] /' '/ g'' ¿No debería ser' sed-e' s/[{}] // g''? ¿Cómo se ve el resultado del comando 'curl' antes de pasar a' sed' y 'awk'. Las tuberías que incluyen tanto 'sed' como' awk' a menudo pueden simplificarse en unidades sin 'sed'. –

Respuesta

64

Por qué usar sed?

| tr -d '"' 

Herramienta correcta para el trabajo correcto.

+0

mi script necesita ser compatible solaris :-) entonces necesito un sed porque tr no es bueno en solaris – user1820801

+0

No hay nada mayormente incorrecto con 'tr' en los solaris siempre y cuando uses'/usr/xpg6/bin/tr' y no '/ usr/bin/tr'. – Sorpigal

+0

No estoy seguro de que lo lógico en un sistema de configuración sin agente sea ir a buscar binarios en xpg6 en su destino. Lo tendré en cuenta, pero prefiero hacer un guión usando sed. – user1820801

2

Usted puede hacer:

...existing_commands | sed 's/"//g' 
+0

intentado anexar esto al final pero dejó de funcionar – Thiago

+1

Si su comando actual da '' user_name "' como resultado, agregue '| sed 's/"// g'' al final debe dar' user_name' como salida. – codaddict

+0

no funciona ... y si ejecuto mi comando inicial con "> file" al final no escribe en el archivo. Tal vez algo relacionado con el {print $ 2}. ¿Pensamientos? – Thiago

Cuestiones relacionadas