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