Как запятая-демилит выход из среза?


0

Пока у меня есть это:

grep -B 36 'pattern1' Mapper.1.Configuration.MapRules | grep "pattern2" | cut -d'"' -f2

которые дают мне список значений, разделенных новой строкой, которые мне нужны. Я мог бы поместить это в файл, а затем выполнить поиск и заменить все новые строки запятыми.

Но я предполагаю (нет, надеюсь!) Есть способ сделать это в командной строке?


почему бы не использовать grepили awk?
Алекс

Ответы:


1

Быстрый поиск показывает следующий ответ из юниверса Stack Exchange, который должен быть применим:

<command> | tr "\\n" ","

https://stackoverflow.com/questions/2764051/joining-multiple-lines-into-one-with-bash


Спасибо за это. У меня были проблемы с поиском подходящего текста для поиска. Кажется, это работает, за исключением того, что он также принимает следующую командную строку в качестве ввода ... кажется. то есть последнее значение имеет запятую после него, но к нему также добавляется «root @ ip-address: / current-dir». Это большое преимущество, хотя. я посмотрю в tr.
Рами

У него нет следующего приглашения в качестве ввода. \ N в самом конце вывода заменяется запятой, поэтому подсказка, напечатанная вашим терминалом после завершения команды, не переходит на новую строку.
USD Мэтт

ах. конечно. Я буду продолжать играть с этим, чтобы получить то, что мне нужно.
Рами

Есть несколько дополнительных битов в информации о стековом потоке. Вы также можете попробовать добавить | sed 's/,$//'. Это удаляет последнюю запятую и добавляет новую строку для меня, хотя я использую FreeBSD, поэтому ваш вывод может немного отличаться от моего.
USD Мэтт

Спасибо за чаевые. та команда sed не сработала для меня. Я только что удалил последний символ строки следующим образом: ${i%?}где я храню результаты моего конвейера (который заканчивается командой tr)
Ramy
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.