Cắt các ký tự thoát khỏi đường dẫn tệp


3

Tôi tạo đường dẫn tệp để sử dụng trong email bằng cách kéo thư mục / tệp được đề cập vào Terminal.app sau đó sao chép và dán văn bản đã tạo vào văn bản email.

Đường dẫn được sao chép với các chuỗi thoát:

pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study\2016/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx

cần phải trở thành như thế này:

pCloud Drive/SEN pCloud/SEN Tech Team/Clean Energy WA Study 2016/For checking/AB checks/SEN RE SWIS 2030 notes for AB\checks - Backup input table tab \(5.1.16\).docx

Tôi đang tìm kiếm một cách nhanh chóng để hạ gục tất cả các lần xuất hiện của ký tự dấu gạch chéo thoát khỏi ký tự khoảng trắng. Ai đó đã đề cập đến một thủ thuật Finder để làm điều đó, nhưng bây giờ tôi đã quên nó.

Tôi đã cố gắng tạo Dịch vụ tìm kiếm để thực hiện Tìm & thay thế đơn giản trong Máy tự động nhưng không thể thực hiện được. Automator sẽ cho phép tôi xuất hiện trong Ứng dụng trong Dịch vụ (mặc dù trên macOS hiện tại của tôi, tôi dường như không thấy menu đó, có lẽ tôi cần phải làm gì đó để kích hoạt nó).

Làm thế nào để tôi thực hiện điều này?


2
Đây có phải là một trường hợp của một vấn đề XY ?
dùng2394282

Cảm ơn vì nhận xét, tôi có thể làm điều đó đôi khi nhưng trong trường hợp này tôi không nghĩ vậy. Trích dẫn: "Ai đó đã đề cập đến một thủ thuật Finder để làm điều đó, nhưng bây giờ tôi đã quên nó." Câu trả lời đúng đã đề cập chính xác điều đó. Nhưng các quy trình khác có lợi thế của chúng, vì các chức năng khác có thể được thêm vào tập lệnh Automator hoặc perl script.
wide_eyed_pupil

Câu trả lời:


7
  • Chọn một tập tin với một cú nhấp chuột phải
  • Giữ phím Tùy chọn
  • Chọn mục menu Sao chép "tên tệp" làm Tên đường dẫn

Lưu ý: Tôi tin rằng điều này chỉ hoạt động ở El Capitan trở lên.


1
Câu trả lời tuyệt vời! Tôi biết về kỹ thuật này, nhưng bằng cách nào đó nó đã không xảy ra với tôi :) Tôi đã kết thúc việc tìm hiểu và viết một quy trình làm việc của Automator có chứa tập lệnh perl cho các dấu gạch chéo. Đã sử dụng một thanh kiếm mà kim có thể làm: - |
Nimesh Neema

Cảm ơn. Sẽ làm điều đó :) Bạn có thể chỉnh sửa câu trả lời của bạn để đề cập đến ràng buộc này?
Nimesh Neema

1
Nó hoạt động trong El Capitan, vì vậy với câu trả lời này, nó hoạt động trong tất cả các phiên bản macOS hiện tại .
Allan

Cảm ơn ai đó đã nói với tôi điều đó nhưng tôi không thể nhớ nó! Tôi đã cố dán vào lệnh Thư mục Goto và những thứ tương tự (không giúp được gì).
wide_eyed_pupil

1
@NimeshNeema Vui lòng liên kết với luồng Automator hoặc đưa ra câu trả lời mới tại đây. Tôi muốn sử dụng nó và thêm một số tính năng khác (như hoán đổi "" cho ký tự phân cách thư mục "/", thay đổi phông chữ, kích thước, v.v.) và biến nó thành Dịch vụ mà tôi có thể gọi trong Mail hoặc Finder.
wide_eyed_pupil

2

Bạn có thể kéo vào TextEdit thay vì Terminal. TextEdit sẽ không thêm dấu gạch chéo ngược vào văn bản.

Bạn vẫn có thể sử dụng Terminal, mặc dù. Nếu bạn nhập echo, sau đó kéo và thả vào Terminal, sau đó nhấn enter, dấu gạch chéo ngược sẽ bị xóa (thực tế, chúng chính xác để cho phép các lệnh đầu cuối xử lý đầu vào thô - echokhông thấy dấu gạch chéo ngược, nhưng chỉ một đối số chứa các ký tự khoảng trắng).

$ echo pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study\2016/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx
pCloud Drive/SEN pCloud/SEN Tech Team/Clean Energy WA Study2016/For checking/AB checks/SEN RE SWIS 2030 notes for ABchecks - Backup input table tab (5.1.16).docx

Hơn nữa, bạn có thể tự động hóa việc sao chép văn bản bằng cách chuyển đến pbcopy:

$ echo pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study\2016/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx | pbcopy

Bây giờ văn bản mong muốn sẽ có trong clipboard của bạn.


1
Trên một phiên bản cũ của OS X, tôi có một hàm shell fn2pb- tên tệp thành bảng, trong đó ruột của hàm là pbcopy <<<"$@". Vì vậy, tôi gõ fn2pb sau đó kéo một tập tin vào cửa sổ Terminal.app.
fd0

2

Một cách tiếp cận đơn giản sử dụng dịch vụ Automator:

  1. Khởi chạy Automator.app.

  2. Trong thanh Menu, đi đến Tệp → Mới → Dịch vụ.

  3. Trong khu vực biên tập, đặt các tùy chọn là:

    • Dịch vụ nhận được chọn :text

    • trong :any application

    • Đầu ra thay thế văn bản đã chọn :select check-mark

  4. Trong thanh bên phải, chọn Thư viện → Tiện ích → Chạy hành động Shell Script.

  5. Kéo và thả hành động vào khu vực biên tập.

  6. Trong ** Run Shell Script *, đặt các tùy chọn là:

    • Vỏ :/bin/bash

    • Nhập đầu vào :to stdin

  7. Trong vùng soạn thảo Run Shell Script , nhập dòng sedlệnh sau :

    sed 's/\\\ /\ /g'

    Lưu ý rằng tập lệnh cũng chứa ký tự khoảng trắng. Nên chỉnh sửa bài đăng này và sao chép kịch bản.

  8. Trong menu Automator, nhấp vào Tệp → Lưu ... và lưu dịch vụ với tên phù hợp.

  9. Bây giờ bất cứ khi nào bạn sẽ chọn văn bản trong bất kỳ ứng dụng nào và nhấp chuột phải, bạn có thể thấy dịch vụ trong mục menu ngữ cảnh dịch vụ .

  10. Khi gọi dịch vụ, tất cả các lần xuất hiện dấu gạch chéo ngược theo sau là ký tự khoảng trắng sẽ được thay thế bằng ký tự khoảng trắng.


Vâng, đây là phương pháp hiện tại của tôi, nhưng tìm kiếm thứ gì đó chỉ bằng một cú nhấp chuột vì tôi sử dụng nó rất nhiều.
wide_eyed_pupil

Đề xuất điều này vì bạn đã sao chép dán văn bản thủ công từ Terminal. Cách tiếp cận này thực sự thêm một bước nhảy bổ sung.
Nimesh Neema

Thx Nimesh. Nếu tôi muốn thay đổi là để tất cả các nhân vật thoát như nói "\ &" tôi sẽ thay đổi tập lệnh sed thành gì? Có phải nó đang sử dụng Grep, nó dường như là một cái gì đó không giống với Grep.
wide_eyed_pupil
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.