Clipboard Filtering

April 14th, 2024
cli, tech
Here's a pattern I find pretty useful:

pbpaste | some_command | pbcopy

For example:

  • Converting spaces to tabs, for pasting into a spreadsheet program: pbpaste | tr ' ' '\t' | pbcopy

  • Converting tabs and newlines to html table formatting: pbpaste | sed 's/^/<tr><td>/' | sed 's/\t/<td>/g' | pbcopy

  • Escape angle brackets and ampersands for html: pbpaste | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g;' | pbcopy (I used this on itself before pasting into this post.)

  • Convert newlines-indicate-paragraphs text to html: pbpaste | sed 's/^/<p>/' | pbcopy (I use this in putting together the kids text posts.)

  • Any time I want to do find-and-replace when working with software that doesn't support it well.

The way this works is that pbpaste reads from the clipboard as plain text, the intermediate command(s) transform the text, and the pbcopy sends it back to the clipboard.

While these are the Mac commands it should be similar elsewhere. For example, on Linux I'd use xsel, though that does require paying attention to whether you want PRIMARY (xsel) or CLIPBOARD (xsel -b).

Comment via: facebook, lesswrong, mastodon, substack

Recent posts on blogs I like:

Linkpost for September

Regular announcements: did you know you can hire me for life coaching and general consulting? You can also buy my novella Her Voice Is A Backwards Record wherever fine books are sold (except Google Books).

via Thing of Things September 8, 2025

Against the Teapot Hold in Contra Dancing

The teapot hold is the most dangerous common contra dancing figure, so I’ve been avoiding it. The teapot hold, sometimes called a "courtesy turn hold,” requires one dancer to connect with their hand behind their back. When I realized I could avoid put…

via Emma Azelborn August 25, 2025

Little Puppy

She's very little and she likes to do stuff with me. She also likes to bark around and run around and jump around. She also likes to go to places with me and that's all I have.

via Nora Wise's Blog Posts August 23, 2025

more     (via openring)