Saring konten clipboard tanpa menggunakan file perantara


11

Saya mencoba untuk memodifikasi teks yang ada di clipboard saya, menghapus baris-baris tertentu yang berisi beberapa string dan kemudian mendapatkan output untuk manipulasi lebih lanjut (saya lebih suka mengatasi clipboard saya hanya jika saya membutuhkannya). Saya sedang memikirkan sesuatu seperti ini:

cat > swapfile
##Paste all
grep -v string swapfile
## Read all
rm swapfile

Saya mencoba untuk mencegah pembuatan file dan melakukan semuanya di shell stdin / out sendiri. Saya mencoba menggunakan pipa, pengalihan, grep / sed dari input, tetapi tidak ada yang menghasilkan pencetakan input tanpa pola yang tidak diinginkan.

Jawaban:


13
xsel -o -p  | grep -v string

Di atas menggunakan utilitas xsel untuk menangkap dari clipboard dan mengirim pilihan utama saat ini ke stdout. Anda kemudian dapat memodifikasi output dengan grep (atau sed atau awk) sesuka Anda.

Jika Anda tidak ingin pemilihan utama, ganti "-p" dengan "-s" untuk pilihan sekunder, atau "-c" untuk pemilihan clipboard.

Pada distribusi debian atau sejenisnya, Anda dapat memperoleh xsel dengan apt-get install xsel.

Di atas mengirimkan outputnya ke stdout. Jika Anda ingin menangkap output langsung kembali ke seleksi, gunakan:

xsel -o -p  | grep -v string | xsel -i -s

Opsi "-i" memberi tahu xsel untuk mendapatkan input dari stdin dan menyimpannya ke pilihan. "-s" lagi menentukan pemilihan sekunder.


Saya menggunakan ini sepanjang waktu. Ini harus bekerja dengan baik, pastikan salinan Anda tidak "terlalu besar" atau Anda bisa mendapatkan hasil yang tidak terduga. Ini seharusnya baik untuk apa pun yang biasanya Anda salin dan tempel.
coteyr

bukan aplikasi asli untuk MacOS
lobi Anda
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.