7 ms·
That's the thing about unix-like systems. No matter how much you have learned there's always some command you don't know.
by motters 11y ago
That's the thing about unix-like systems. No matter how much you have learned there's always some command you don't know.
- creshal 11y agopaste was my most recent "holy shit this saves so much time" discovery. I blame it on the not quite intuitive name.
- nchelluri 11y agoWhat do you use it for?
- pwg 11y agoOne use is converting columns of numbers into math strings for bc. Example (contrived): $ seq 10 20 | paste -s -d + 10+11+12+13+14+15+16+17+18+19+20 $ seq 10 20 | paste -s -d + | bc 165 Or converting columns of strings into regex 'or' clauses for searching (contrived example again): $ cut -f 3 -d , something.csv | paste -s -d "|" a|b|c|d|e|f $ egrep "$(cut -f 3 -d , something.csv | paste -s -d "|")" another_file ... result lines appear here ...
- discardorama 11y agoI've used paste all my life, but I never knew you could do paste - - to convert stdin into 2 columns (or "paste - - - -" to get 4 columns!). TIL ...
- deleted 11y ago[deleted]
- bedatadriven 11y agoahah, so that's where R's paste() function comes from...
- father_of_two 11y agoseq has the -s flag which voids the need of the paste for that command: $ seq -s + 10 20 10+11+12+13+14+15+16+17+18+19+20 But I agree that the paste is very useful. # a few random samples for an IN SQL statement $ shuf -i 1-500000 -n 5 | paste -s -d , 371492,250061,266669,455846,295852 # we can even get PI $ ( seq -s + -f '4/%g' 1 4 100000 && seq -s - -f '4/%g' 3 4 100000 ) | paste -s -d - | bc -l 3.14157265358979523735
- schoen 11y agoThere is a faster way to get pi in bc: echo '4*a(1)' | bc -l (That is, 4×arctan(1)=4×π/4=π.) But your way is truly an awesome use of Unix!
- creshal 11y agoTogether with cut to parse CSV files and e.g. convert a text column into a row.