Скажімо, під час робочого дня ви неодноразово стикаєтесь із такою формою колонного виводу з якоїсь команди в bash (у моєму випадку від виконання svn st
у моєму робочому каталозі Rails):
? changes.patch
M app/models/superman.rb
A app/models/superwoman.rb
для того, щоб працювати з результатами вашої команди - в цьому випадку іменами файлів - потрібен певний синтаксичний аналіз, щоб другий стовпець міг бути використаний як вхід для наступної команди.
Те, що я робив, - це використовувати awk
для отримання другого стовпця, наприклад, коли я хочу видалити всі файли (не те, що це типовий шрифт :), я би зробив:
svn st | awk '{print $2}' | xargs rm
Оскільки я багато набираю це, природним є питання: чи існує коротший (таким чином крутіший) спосіб досягти цього в баші?
ПРИМІТКА. Те, що я задаю, - це по суті питання командної оболонки, навіть якщо мій конкретний приклад є на моєму робочому процесі svn. Якщо ви вважаєте, що робочий процес нерозумний і пропонуєте альтернативний підхід, я, мабуть, не буду вас голосувати, але інші можуть, оскільки питання тут справді полягає в тому, як отримати виведення команди n-го стовпчика в bash, в найкоротші терміни . Дякую :)