Lọc nội dung clipboard mà không sử dụng tệp trung gian


11

Tôi đang cố gắng sửa đổi văn bản trong bảng tạm của mình, xóa một số dòng nhất định có chứa một số chuỗi và sau đó lấy đầu ra để thao tác thêm (tôi chỉ thích đối phó với bảng tạm của mình nếu tôi cần). Tôi đã suy nghĩ một cái gì đó như thế này:

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

Tôi cố gắng ngăn chặn việc tạo tập tin và làm mọi thứ trong shell stdin / out. Tôi đã thử sử dụng đường ống, chuyển hướng, grep / sed từ đầu vào, nhưng không có kết quả nào trong việc in đầu vào mà không có mẫu không mong muốn.

Câu trả lời:


13
xsel -o -p  | grep -v string

Ở trên sử dụng tiện ích xsel để chụp từ bảng ghi tạm và gửi lựa chọn chính hiện tại đến thiết bị xuất chuẩn. Sau đó, bạn có thể sửa đổi đầu ra với grep (hoặc sed hoặc awk) nếu muốn.

Nếu bạn không muốn lựa chọn chính, thay thế "-p" bằng "-s" cho lựa chọn phụ hoặc "-c" cho lựa chọn clipboard.

Trên một bản phân phối debian hoặc tương tự, bạn có thể nhận được xsel với apt-get install xsel.

Ở trên gửi đầu ra của nó đến thiết bị xuất chuẩn. Nếu bạn muốn chụp đầu ra trực tiếp trở lại vào vùng chọn, hãy sử dụng:

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

Tùy chọn "-i" cho xsel nhận đầu vào từ stdin và lưu nó vào vùng chọn. "-s" một lần nữa chỉ định lựa chọn thứ cấp.


Tôi sử dụng cái này mọi lúc Nó sẽ hoạt động tốt, chỉ cần đảm bảo rằng bản sao của bạn không "quá lớn" hoặc bạn có thể nhận được đầu ra bất ngờ. Điều này sẽ tốt cho bất cứ điều gì bạn thường sao chép và dán.
coteyr

không phải là một ứng dụng gốc cho macos
lobi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.