2010-08-14 13 views
42

Speriamo abbastanza semplice, per spiegare il caso d'uso quando si esegue il seguente comando (OS X 10.6):modo più semplice per striscia carattere di nuova riga dalla stringa di input in cartone

pwd | pbcopy

il pasteboard contiene un carattere di fine riga alla fine. Mi piacerebbe sbarazzarmene.

+0

Grazie per le risposte! –

+0

Sidenote: se la ragione per cui vuoi farlo è incollare nel campo "Vai a" in Finder (digita '~'), puoi semplicemente usare 'pwd | pbcopy', incolla nel campo di testo e quindi premi backspace. – kizzx2

risposta

72

pwd | tr -d '\n' | pbcopy

+14

Questo rende anche un bel alias, 'alias copy =" tr -d '\ n' | pbcopy "'. – tobius

+7

Questo non spoglia tutte le nuove linee? Cosa succede se desidero solo rimuovere l'ultimo newline? – davidmh

+2

@davidmh - Sì, li spogliano tutti. Rimuovo sempre l'ultimo personaggio che funziona ha funzionato bene per me: 'head -c -1'. http://taylor.woodstitch.com/linux/copy-local-clipboard-remote-ssh-server/ –

25
printf $(pwd) | pbcopy 

o

echo -n $(pwd) | pbcopy 

Si noti che questi dovrebbero davvero essere citati nel caso in cui non ci sono spazi nella nome di directory. Per esempio:

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

Il primo non è sicuro: potrebbe esserci% 's nella stringa. – grep

+2

Puoi renderlo sicuro in questo modo: 'printf '% s' $ (pwd) | pbcopy' –

+1

Il secondo comando è molto prezioso. È bello conoscere l'opzione "echo senza nuova riga": "echo -n" text "" o "text \ c" ' – cwd

7

ho scritto un'utility chiamata noeol per risolvere questo problema. Conduce lo stdin allo stdout, ma lascia fuori il newline finale se ce n'è uno. Per esempio.

pwd | noeol | pbcopy 

... ho alias copy-noeol | pbcopy.

Check-out qui: https://github.com/Sidnicious/noeol

Problemi correlati