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

Recent posts on blogs I like:

Against Lyman Stone On Animal Welfare

Demographer Lyman Stone writes:

via Thing of Things March 21, 2025

Product in the age of AI

We’re seeing AI features pop up in every product we use. Slack, Google Drive, etc.

via Home March 18, 2025

How I've run major projects

focus • maintain a detailed plan for victory • run a fast OODA loop • overcommunicate • break off subprojects • have fun • bonus content: my project management starter kit

via benkuhn.net March 16, 2025

more     (via openring)