Ich generiere Dateipfade zur Verwendung in E-Mails, indem ich den betreffenden Ordner/die betreffende Datei in Terminal.app ziehe und dann den generierten Text kopiere und in einen E-Mail-Text einfüge.
Der kopierte Pfad mit Escape-Sequenzen:
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
muss so werden:
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
Ich suche nach einer schnellen Möglichkeit, alle Vorkommen von Backslash-Zeichen zu zappen, die dem Leerzeichen entkommen. Jemand hat einen Finder-Trick dafür erwähnt, aber jetzt habe ich ihn vergessen.
Ich habe versucht, einen Finder-Dienst zu erstellen, um ein einfaches Suchen und Ersetzen in Automator durchzuführen, konnte es aber nicht erledigen. Automator erlaubt mir, es in Anwendungen unter Dienste erscheinen zu lassen (obwohl ich dieses Menü auf meinem aktuellen macOS nicht zu sehen scheine, vielleicht muss ich etwas tun, um es zu aktivieren).
Wie mache ich das?
Sie können anstelle von Terminal in TextEdit ziehen. TextEdit fügt dem Text keine Backslashes hinzu.
Sie können das Terminal jedoch weiterhin verwenden. Wenn Sie eingeben echo
, dann per Drag-and-Drop in das Terminal ziehen und dann die Eingabetaste drücken, werden die Backslashes entfernt (eigentlich sind sie genau dazu da, damit Terminalbefehle die Roheingabe verarbeiten können - es werden keine Backslashes echo
angezeigt, sondern ein einzelnes Argument Leerzeichen enthalten).
$ 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
Darüber hinaus können Sie das Kopieren des Textes automatisieren, indem Sie an Folgendes weiterleiten 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
Jetzt befindet sich der gewünschte Text in Ihrer Zwischenablage.
fn2pb
- Dateiname zum Einfügen, wo die Eingeweide der Funktion sind pbcopy <<<"$@"
. Also tippe ich fn2pb
und ziehe dann eine Datei auf das Terminal.app-Fenster.Hinweis: Ich glaube, das funktioniert nur in El Capitan und höher.
Ein einfacher Ansatz mit dem Automator-Dienst:
Starten Sie Automator.app.
Gehen Sie in der Menüleiste zu Datei → Neu → Dienst.
Legen Sie im Editorbereich folgende Optionen fest:
Dienst erhält ausgewählt :text
im :any application
Ausgabe ersetzt ausgewählten Text :select check-mark
Wählen Sie in der rechten Seitenleiste Bibliothek → Dienstprogramme → Aktion Shell-Skript ausführen.
Ziehen Sie die Aktion per Drag & Drop in den Editorbereich.
Legen Sie unter **Run Shell Script* folgende Optionen fest:
Schale :/bin/bash
Eingabe übergeben :to stdin
Geben Sie im Bereich „Run Shell Script Editor“ die folgende sed
Befehlszeile ein:
sed 's/\\\ /\ /g'
Beachten Sie, dass das Skript auch Leerzeichen enthält. Es ist ratsam, diesen Beitrag zu bearbeiten und das Skript unverändert zu kopieren.
Klicken Sie im Automator-Menü auf Datei → Speichern ... und speichern Sie den Dienst unter einem geeigneten Namen.
Wenn Sie jetzt den Text in einer beliebigen App auswählen und mit der rechten Maustaste klicken, können Sie den Dienst unter dem Kontextmenüelement Dienst sehen .
Beim Aufrufen des Dienstes werden alle Vorkommen von Backslash gefolgt von einem Leerzeichen nur durch das Leerzeichen ersetzt.
Benutzer2397282
weite_äugige_pupille