Sophie (
sophie) wrote in
command_liners2011-12-29 08:40 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Generating a comma-separated list from grep
Sometimes you want to paste the output of a
...you get:
Very useful sometimes :D
grep
command into IRC or IM, and don't want each match on a separate line. Fortunately, it's easy to convert it to a comma-separated list instead - simply pipe the output through xargs echo | sed 's/ /, /g'
. So, for example, instead of:Sophie@Sophie-Laptop:~/primtionary$ grep cuddle american-english-insane
cuddle
cuddleable
cuddled
cuddler
cuddlers
cuddles
cuddlesome
scuddle
scuddled
scuddles
upscuddle
...you get:
Sophie@Sophie-Laptop:~/primtionary$ grep cuddle american-english-insane | xargs echo | sed 's/ /, /g'
cuddle, cuddleable, cuddled, cuddler, cuddlers, cuddles, cuddlesome, scuddle, scuddled, scuddles, upscuddle
Very useful sometimes :D
no subject
function tocsl()
{
export comma='';
while read word; do echo -n "$comma$word"; comma=', '; done;
echo;
}
(This doesn't really have to be a function, of course. A simple
{ list; }
would do just as well.)