pbcopy & pbpaste: Thao tác với Clipboard từ Dòng lệnh
Mục lục:
Copy và Paste là nhu cầu tuyệt đối đối với hầu như tất cả người dùng máy tính và nếu bạn thấy mình thường xuyên làm việc với dòng lệnh, bạn sẽ muốn biết cách thao tác bảng tạm của Mac OS X trực tiếp từ dấu nhắc đầu cuối. Đó là mục đích của các lệnh pbcopy và pbpaste của Mac, và như bạn có thể đoán hai lệnh này thực hiện chính xác những gì chúng nghe giống như, pbcopy là để sao chép và pbpaste là để dán qua dòng lệnh.Chúng thực sự khá mạnh mẽ và bạn chắc chắn sẽ thấy chúng hữu ích vào lần tới khi bạn đi chơi với bash, tcsh, zsh hoặc bất kỳ dấu nhắc trình bao ưa thích nào của bạn.
Chúng tôi sẽ giải thích nhanh về cách sử dụng pbcopy và pbpaste để thao tác dữ liệu bảng tạm, với một số ví dụ cho biết cách chuyển hướng đầu ra của lệnh đầu cuối làm đầu vào vào bảng tạm, và tất nhiên, cách chuyển hướng trục xuất nội dung của clipboard vào dòng lệnh với pbpaste.
Sử dụng pbcopy & pbpaste từ Dòng lệnh trên Mac
pbcopy: nhận đầu vào tiêu chuẩn và đặt vào bộ đệm khay nhớ tạm
pbcopy đủ đơn giản để sử dụng, về cơ bản hướng nội dung nào đó vào nội dung đó và nội dung đó sẽ sao chép nội dung đó vào bộ đệm khay nhớ tạm. Điều này sau đó có thể được truy cập thông qua pbpaste hoặc lệnh dán của Finder tiêu chuẩn (command-v). Đây là cách sử dụng:
$ pbcopy < file.txt
Vậy là xong, bây giờ nội dung của file.txt sẽ có trong khay nhớ tạm của bạn, sẵn sàng để dán mọi lúc mọi nơi. Nhưng pbcopy mạnh hơn thế nhiều và bạn cũng có thể định hướng đầu ra của các lệnh và chương trình sẽ được sao chép. Đây là một ví dụ với lệnh 'ps':
$ ps aux | pbcopy
Điều này đưa kết quả của lệnh ps vào khay nhớ tạm, một lần nữa, nó có thể được dán vào bất kỳ đâu. Nếu bạn muốn lọc kết quả của mình một chút, bạn cũng có thể làm điều đó. Một ví dụ sử dụng lệnh grep là:
$ ps aux | gốc grep | pbcopy
Điều này dẫn kết quả của lệnh 'ps aux', nhưng lọc cụ thể cho 'root' và chỉ sao chép các kết quả đó vào khay nhớ tạm. Hay nhỉ?
pbpaste: lấy dữ liệu từ bộ đệm clipboard và ghi vào đầu ra tiêu chuẩn
pbpaste sử dụng cũng đơn giản không kém, nó sẽ truy xuất bất cứ thứ gì bạn đã đặt trong bộ đệm khay nhớ tạm và nhổ nó ra. Ở dạng đơn giản nhất, chỉ cần gõ:
$ pbpaste
Điều này sẽ in bất kỳ dữ liệu nào bạn đã sao chép từ lệnh pbcopy hoặc lệnh sao chép của Finder (lệnh-c). Tuy nhiên, bạn có thể dễ dàng định tuyến đầu ra này vào một tệp thông qua dòng lệnh để truy cập sau nếu muốn, bằng lệnh đơn giản sau:
$ pbpaste > pastetest.txt
Tuy nhiên, việc lọc nội dung được dán rất hữu ích và cấu trúc lệnh rất giống với những gì chúng ta đã thấy trước đó với pbcopy. Chúng tôi sẽ lọc 'rcp' nhưng tất nhiên bạn có thể lọc bất cứ thứ gì bạn muốn
$ pbpaste | grep rcp
Những gì bạn sẽ thấy được dán chỉ là những gì phù hợp với tìm kiếm của bạn cho 'rcp' bên trong dữ liệu trong khay nhớ tạm.
Có nhiều công dụng hơn với pbcopy và pbpaste, nhưng điều đó sẽ cung cấp cho bạn ý tưởng chung về cách sử dụng nó và có thể cung cấp cho bạn một số ý tưởng để triển khai chúng theo năng suất của riêng bạn.Ảnh chụp màn hình chỉ minh họa rằng bạn có thể sao chép và dán từ dòng lệnh vào ứng dụng Finder (trong trường hợp này là TextEdit) mà không làm mất bất kỳ định dạng nào.
Và vâng, bạn có thể sử dụng các lệnh pbcopy và pbpaste tại thiết bị đầu cuối, sau đó tương tác lại với chúng từ GUI của MacOS bằng cách sử dụng phím tắt sao chép và dán tiêu chuẩn của Mac là Command+C và Command+ v.v. Nó cũng đi theo hướng khác, một bản sao từ GUI có thể được dán bằng pbpaste tại dòng lệnh.
Người dùng quan tâm đến việc tìm hiểu cách sử dụng pbcopy và pbpaste hiệu quả hơn để sửa đổi bảng dán của Mac OS X thông qua dòng lệnh được khuyến khích xem lại các trang hướng dẫn lệnh, về cơ bản có thể hoán đổi cho nhau và bao gồm cả hai mặt của lệnh. Có thể dễ dàng truy cập thông qua 'man pbcopy' hoặc 'man pbpaste', nơi bạn sẽ thấy một số chi tiết khác về cách sử dụng lệnh, cũng như các tùy chọn khác về cách sử dụng lệnh, điều chỉnh mã hóa, loại bỏ hoặc duy trì chi tiết văn bản có định dạng và nhiều hơn nữa.