Пока у меня есть это:
grep -B 36 'pattern1' Mapper.1.Configuration.MapRules | grep "pattern2" | cut -d'"' -f2
которые дают мне список значений, разделенных новой строкой, которые мне нужны. Я мог бы поместить это в файл, а затем выполнить поиск и заменить все новые строки запятыми.
Но я предполагаю (нет, надеюсь!) Есть способ сделать это в командной строке?
grep
илиawk
?Ответы:
Быстрый поиск показывает следующий ответ из юниверса Stack Exchange, который должен быть применим:
<command> | tr "\\n" ","
https://stackoverflow.com/questions/2764051/joining-multiple-lines-into-one-with-bash
источник
| sed 's/,$//'
. Это удаляет последнюю запятую и добавляет новую строку для меня, хотя я использую FreeBSD, поэтому ваш вывод может немного отличаться от моего.${i%?}
где я храню результаты моего конвейера (который заканчивается командой tr)