2013-06-04 34 views
12

đây là lệnh chịu trách nhiệm về cách thêm một dòng mới vào stringecho "chuỗi" | xclip -selection clipboard, sao chép 'chuỗi' nhưng cũng thêm một dòng mới vào nó. làm thế nào để sửa lỗi này?

echo "string" | xclip -selection clipboard 
+0

Đề nghị chỉnh sửa tiêu đề của câu hỏi này cho một cái gì đó như 'Ngăn chặn xclip từ phụ thêm dòng mới.' Đó là một câu hỏi tuyệt vời, nó chỉ là khó tìm! – honkaboy

Trả lời

17
echo -n "string" | xclip -selection clipboard 

tôi có lẽ đã xây dựng một chút. Giá trị mặc định cho echo là xuất chuỗi và dòng mới. -n hỗ trợ sau.

+0

hoạt động xuất sắc –

+0

nếu bạn muốn sao chép đường dẫn hiện tại 'echo -n $ (pwd) | xclip -selection clipboard' –

+0

một cải tiến cho lệnh trước đó 'echo -n $ {PWD// \\} | xclip -selection clipboard' dấu gạch chéo ngược khoảng trắng –

12

Giải pháp chung chung hơn là bỏ qua các dòng mới bất kể nguồn vào. Ví dụ, trường hợp sử dụng phổ biến là sao chép vào clipboard một đường dẫn của thư mục hiện hành. Lệnh

pwd | xclip -selection clipboard 

sao chép ký tự dòng mới và điều này thường không phải là thứ chúng tôi muốn. Giải pháp như sau:

pwd | xargs echo -n | xclip -selection clipboard 

Bạn có thể tạo một bí danh để làm cho nó thuận tiện hơn:

alias xclip='xargs echo -n | xclip -selection clipboard' 

và từ giờ trở đi sử dụng:

pwd | xclip # copied without new line 
echo "foo" | xclip # copied without new line 
2

Kể từ khi phiên bản 0,13 xclip, bạn có một cách chung chung sẽ bảo toàn các dòng bên trong mới với tùy chọn r hoặc rmlastnl.

Vì vậy, bạn sẽ có:

pwd | xclip -r # copied without new line 
echo "foo" | xclip -r # copied without new line 
ps | xclip -r # copied without the last new line! 
+0

Yêu cầu phiên bản 0.13 mặc dù – ricab

+0

Cảm ơn. Tôi sẽ thêm điều đó vào câu trả lời của tôi. – rools