2010-08-14 8 views
42

suerte bastante sencillo, para explicar el caso de uso cuando corro el siguiente comando (OS X 10.6):manera más fácil de pelar carácter de nueva línea de cadena de entrada en la mesa de trabajo

pwd | pbcopy

el portapapeles contiene un carácter de nueva línea al final. Me gustaría deshacerme de eso.

+0

Gracias por las respuestas! –

+0

Nota: si la razón por la que desea hacer esto es pegar en el campo "Ir a" en el Finder (escriba '~'), puede usar 'pwd | pbcopy', pegue en el campo de texto y luego presione la tecla de retroceso. – kizzx2

Respuesta

72

pwd | tr -d '\n' | pbcopy

+14

Esto también lo convierte en un buen alias, 'alias copy =" tr -d '\ n' | pbcopy "'. – tobius

+7

¿No sería eso quitar todas las líneas nuevas? ¿Qué pasa si solo quiero eliminar la última nueva línea? – davidmh

+2

@davidmh - Sí, eso los despoja a todos. Siempre elimino el último caracter que funcionó bien para mí: 'head -c -1'. http://taylor.woodstitch.com/linux/copy-local-clipboard-remote-ssh-server/ –

25
printf $(pwd) | pbcopy 

o

echo -n $(pwd) | pbcopy 

Tenga en cuenta que estos realmente se debe citar en caso de que haya espacios en blanco en el nombre del directorio. Por ejemplo:

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

El primero es inseguro: podría haber% en la cadena. – grep

+2

Puede hacer que sea seguro así: 'printf '% s' $ (pwd) | pbcopy' –

+1

El segundo comando es muy valioso. Es genial saber sobre la opción "eco sin línea nueva": 'echo -n" texto "' o '" texto \ c "' – cwd

7

escribí una utilidad llamada noeol para resolver este problema. Conduce stdin a stdout, pero omite la nueva línea final si hay uno. P.ej.

pwd | noeol | pbcopy 

... Me alias copy-noeol | pbcopy.

Échale un vistazo aquí: https://github.com/Sidnicious/noeol

Cuestiones relacionadas