LINUX.ORG.RU

Sed. Вывести текст между символами.

 


0

1

Есть строка вида
«value» : «/hOpIinwq,8589934592,/hOpIinwq/channels/DGWJfp4L,4294967296,/hOpIinwq/channels/EbpSf9rD,4294967296,/hOpIinwq/channels/TC2oz09k,4294967296,/hOpIinwq/channels/UMWL0KV6,4294967296,/hOpIinwq/channels/yDid7qcA,4294967296,/hOpIinwq/channels/yZb8Vp81,4294967296»

Как вывести из нее ID (после channels), чтоб на выходе было:
DGWJfp4L
EbpSf9rD
TC2oz09k
UMWL0KV6
yDid7qcA
yZb8Vp81

То есть текст между channels/ и ","

★★

Я бы для начала сделал 's/,/\'$'\n/g',
затем грепнул бы 'channels'
и убрал лишнее с 's#.*channels/##'

frob ★★★★★ ()
grep -oP '/channels/\K\w+'

либо

grep -oP '/channels/\K.*?(?=,)'

Jini ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.