GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menyalin output dari perintah langsung ke clipboard saya?

Saya telah membuat alat untuk Linux/OSX/Cygwin yang mirip dengan beberapa yang lain tetapi sedikit unik. Saya menyebutnya cb dan itu dapat ditemukan di intisari github ini.

Dalam intisari itu saya mendemonstrasikan cara melakukan salin dan tempel melalui baris perintah menggunakan Linux, macOS, dan Cygwin.

Linux

_copy(){
    cat | xclip -selection clipboard
}

_paste(){
    xclip -selection clipboard -o
}

macOS

_copy(){
    cat | pbcopy
}

_paste(){
    pbpaste
}

Cygwin

_copy(){
    cat > /dev/clipboard
}

_paste(){
    cat /dev/clipboard
}

Catatan:Awalnya saya hanya bermaksud menyebutkan ini dalam komentar saya untuk jawaban Bob Enohp. Tapi kemudian saya menyadari bahwa saya harus menambahkan README ke intisari saya. Karena editor intinya tidak menawarkan pratinjau Markdown, saya menggunakan kotak jawaban di sini dan setelah menyalin/menempelkannya ke pemikiran inti saya, "Sebaiknya saya kirimkan jawabannya." Jika Anda ingin mendiskusikan fungsionalitas/bug mungkin akan lebih baik melakukannya di komentar untuk intinya di github.

cb

Tee anti bocor ke clipboard

Skrip ini dimodelkan setelah tee (lihat man tee ).

Ini seperti perintah salin dan tempel normal Anda, tetapi terpadu dan dapat merasakan saat Anda menginginkannya dapat dirantai

Contoh

Salin

$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017

Tempel

# clipboard retained from the previous block
$ cb
Tue Jan 24 23:00:00 EST 2017
$ cb | cat
Tue Jan 24 23:00:00 EST 2017
$ cb > foo
$ cat foo
Tue Jan 24 23:00:00 EST 2017

Rantai

$ date | cb | tee updates.log
Tue Jan 24 23:11:11 EST 2017
$ cat updates.log
Tue Jan 24 23:11:11 EST 2017
# clipboard contains: Tue Jan 24 23:11:11 EST 2017

Salin melalui pengalihan file

(secara kronologis masuk akal untuk mendemonstrasikannya di bagian akhir)

# clipboard retained from the previous block
$ cb < foo
$ cb
Tue Jan 24 23:00:00 EST 2017
# note the minutes and seconds changed from 11 back to 00

Saya selalu ingin melakukan ini dan menemukan cara yang bagus dan mudah untuk melakukannya. Saya menuliskan prosedur lengkapnya kalau-kalau ada orang lain yang membutuhkannya.

Pertama, instal program 16 kB bernama xclip :

sudo apt-get install xclip

Anda kemudian dapat menyalurkan output ke xclip untuk disalin ke clipboard:

cat file | xclip

Untuk menempelkan teks yang baru saja Anda salin, Anda harus menggunakan:

xclip -o

Untuk menyederhanakan hidup, Anda dapat menyiapkan alias di file .bashrc Anda seperti yang saya lakukan:

alias "c=xclip"
alias "v=xclip -o"

Untuk melihat betapa bergunanya ini, bayangkan saya ingin membuka jalur saya saat ini di jendela terminal baru (mungkin ada cara lain untuk melakukannya seperti Ctrl +T pada beberapa sistem, tetapi ini hanya untuk tujuan ilustrasi):

Terminal 1:
pwd | c

Terminal 2:
cd `v`

Perhatikan ` ` sekitar v . Ini mengeksekusi v sebagai perintah terlebih dahulu dan kemudian menggantinya di tempat dengan cd untuk digunakan.

Hanya salin konten ke X papan klip

cat file | xclip

Jika Anda ingin menempelkan di tempat lain selain X aplikasi, coba yang ini:

cat file | xclip -selection clipboard

Di OS X, gunakan pbcopy; pbpaste pergi ke arah yang berlawanan.

pbcopy < .ssh/id_rsa.pub

Linux
  1. Bagaimana Cara Menetapkan Output Perintah Ke Variabel Shell?

  2. Linux – Bagaimana Cara Mem-boot Puppy Linux Slacko Ke Baris Perintah?

  3. Salin Isi File Ke Clipboard Tanpa Menampilkan Isinya?

  1. Bagaimana Cara Mengatur Variabel Sama Dengan Output Dari Perintah Di Grub2?

  2. Bagaimana saya bisa mengulang output dari perintah shell?

  3. Bagaimana cara menyimpan output perintah ke dalam array di Ansible?

  1. Bagaimana saya bisa menyalin output dari perintah jarak jauh ke clipboard lokal?

  2. Bagaimana saya bisa menyalin semua file pdf secara rekursif dalam direktori (dan itu subdirektori) ke dalam satu direktori keluaran?

  3. Bagaimana cara membaca kolom IDLE di output perintah 'w' Linux?