Digamos que durante su jornada laboral se encuentra repetidamente la siguiente forma de salida en columna de algún comando en bash (en mi caso, al ejecutar svn st
en mi directorio de trabajo de Rails):
? changes.patch
M app/models/superman.rb
A app/models/superwoman.rb
Para trabajar con la salida de su comando, en este caso los nombres de archivo, se requiere algún tipo de análisis para que la segunda columna se pueda usar como entrada para el siguiente comando.
Lo que he estado haciendo es usar awk
para llegar a la segunda columna, por ejemplo, cuando quiero eliminar todos los archivos (no es que sea un caso de uso típico :), haría:
svn st | awk '{print $2}' | xargs rm
Como escribo mucho esto, una pregunta natural es: ¿hay una forma más corta (por lo tanto, más genial) de lograr esto en bash?
NOTA: Lo que estoy preguntando es esencialmente una pregunta de comando de shell a pesar de que mi ejemplo concreto está en mi flujo de trabajo svn. Si cree que el flujo de trabajo es tonto y sugiere un enfoque alternativo, probablemente no lo rechazaré, pero otros podrían hacerlo, ya que la pregunta aquí es realmente cómo obtener la salida del comando de la enésima columna en bash, de la manera más breve posible . Gracias :)