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.

Braiam
sumber

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.

John1024
sumber
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