2010-08-14 2 views
42

pasteboard Espérons assez simple, pour expliquer le cas d'utilisation quand je lance la commande suivante (OS X 10.6):manière la plus facile bande de retour à la ligne chaîne d'entrée dans

PWD | pbcopy

la table de montage contient un caractère de nouvelle ligne à la fin. Je voudrais m'en débarrasser.

+0

Merci pour les réponses! –

+0

Sidenote: si la raison pour laquelle vous voulez faire cela est de coller dans le champ "Aller à" dans le Finder (tapez '~'), vous pouvez simplement utiliser 'pwd | pbcopy', coller dans le champ de texte, puis appuyez sur retour arrière. – kizzx2

Répondre

72

pwd | tr -d '\n' | pbcopy

+14

Cela fait aussi un alias sympa, 'alias copy =" tr -d '\ n' | pbcopy "'. – tobius

+7

Cela ne supprimerait-il pas toutes les nouvelles lignes? Que faire si je ne veux que le dernier saut de ligne supprimé? – davidmh

+2

@davidmh - Oui qui les dépouille tous. Je supprime toujours le dernier caractère qui fonctionne bien pour moi: 'head -c -1'. http://taylor.woodstitch.com/linux/copy-local-clipboard-remote-ssh-server/ –

25
printf $(pwd) | pbcopy 

ou

echo -n $(pwd) | pbcopy 

Notez que ceux-ci devraient vraiment être cités dans le cas où il y a les espaces dans le nom du répertoire. Par exemple:

echo -n "$(pwd)" | pbcopy 
+0

Le premier est dangereux: il pourrait y avoir des% dans la chaîne. – grep

+2

Vous pouvez sécuriser comme ceci: 'printf '% s' $ (pwd) | pbcopy' –

+1

La deuxième commande est très précieuse. Il est bon de connaître l'option "echo without newline": echo -n "text" 'ou' "text \ c" ' – cwd

7

j'ai écrit un utilitaire appelé noeol pour résoudre ce problème. Il redirige stdin vers stdout, mais supprime le retour à la ligne s'il y en a un. Par exemple.

pwd | noeol | pbcopy 

... Je copy-noeol | pbcopy un alias.

Regardez ici: https://github.com/Sidnicious/noeol

Questions connexes