Skip to content

xwmx/pb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status
           __
    ____  / /_
   / __ \/ __ \
  / /_/ / /_/ /
 / .___/_.___/
/_/

pb

A tiny wrapper combining pbcopy & pbpaste in a single command. Copy to or paste from the macOS / OS X clipboard / pasteboards.

With no input, pb prints the current contents of the clipboard to stdout using the pbpaste command. When input is passed via stdin or an argument, pb acts as a wrapper for pbcopy, which in the simplest case means that it replaces the clipboard contents with the input.

# save the string "Example text." to the clipboard
> pb "Example text."

# print the clipboard contents
> pb
Example text.

# save the string "Example piped text." to the clipboard
> echo "Example piped text." | pb

# print the clipboard contents
> pb
Example piped text.

The contents of the pasteboards can be previewed in a pager with pb -p / pb --preview. The content will be displayed in the command set in the $PAGER environment variable, or less if $PAGER is unset.

# display the contents of the clipboard in a pager
pb --preview

# display the contents of the clipboard in a pager, short option
pb -p

macOS has multiple pasteboards, with "general" as the default that is used when no pasteboard is specified. The "general" pasteboard is also used in Universal Clipboard. Other pasteboards can be accessed with pb -pboard <name>. The other available pasteboards are ruler, find, and font.

# save the string "example" to the "find" pasteboard
pb -pboard find "example"

# print the contents of the "find" pasteboard
pb -pboard find

# preview the contents of the "find" pasteboard
pb -pboard find --preview

pb also includes a pb --clear flag to easily clear the macOS clipboard.

# clear the clipboard contents
> pb --clear
Pasteboards / Clipboard cleared.

macOS refers to the clipboard as the pasteboard. The terms are largely synonymous can be used interchangably.

Installation

Homebrew

To install with Homebrew:

brew tap xwmx/taps
brew install pb

npm

To install with npm:

npm install -g pb.sh

bpkg

To install with bpkg:

bpkg install xwmx/pb

Manual

To install manually, simply add the pb script to your $PATH. If you already have a ~/bin directory, you can use the following command:

curl -L https://raw.github.com/xwmx/pb/master/pb \
  -o ~/bin/pb && chmod +x ~/bin/pb

Usage

A simple wrapper combining pbcopy & pbpaste in a single command.

Usage:
  pb [-pboard {general | ruler | find | font}] [-Prefer {txt | rtf | ps}]
     [-p | --preview]
  pb <input> [-pboard {general | ruler | find | font}]
  pb --clear
  pb --version
  pb -h | --help

Options:
  --clear        Clear the contents of all pasteboards.
  -pboard        Specify the pasteboard to copy to or paste from.
                 Default: general
  -Prefer        Specify what type of data to look for in the pasteboard first.
  -p, --preview  Display pasteboard content in $PAGER, or `less` if unset.
  --version      Print the current program version.
  -h --help      Show this screen.

Examples:
  pb "Example text."         Copy data specied with an argument.
  echo "Example text." | pb  Copy piped data.
  pb                         Print contents of the clipboard / pasteboard.
  pb -pboard find            Print contents of the "find" pasteboard.
  pb --preview               Display the contents of the pasteboard in a pager.

More information:
  Run `man pbcopy` or `man pbpaste`.

Home:
  https://github.com/xwmx/pb

Resources

Clipboard / Pasteboard Developer Documentation:

Tests

To run the test suite, install Bats and run bats test in the project root.

About

A tiny wrapper combining pbcopy & pbpaste in a single command.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors