J'espère que c'est assez simple, pour expliquer le cas d'utilisation lorsque j'exécute la commande suivante (OS X 10.6) :
$ pwd | pbcopy
le tableau de collage contient un caractère de nouvelle ligne à la fin. J'aimerais m'en débarrasser.
J'espère que c'est assez simple, pour expliquer le cas d'utilisation lorsque j'exécute la commande suivante (OS X 10.6) :
$ pwd | pbcopy
le tableau de collage contient un caractère de nouvelle ligne à la fin. J'aimerais m'en débarrasser.
Cela ne supprimerait-il pas toutes les nouvelles lignes ? Et si je ne veux supprimer que la dernière ligne ?
@davidmh - Oui, ça les dépouille tous. Je supprime toujours le dernier caractère, ce qui fonctionne bien pour moi : head -c -1
. taylor.woodstitch.com/linux/
Le deuxième commandement est très précieux. Il est bon de connaître l'option "echo without newline" : echo -n "text "
o "text \c"
J'ai écrit un utilitaire appelé noeol
pour résoudre ce problème. Il achemine stdin vers stdout, mais laisse de côté la nouvelle ligne de fin s'il y en a une. Par exemple
pwd | noeol | pbcopy
j'ai aliasé copy
a noeol | pbcopy
.
Découvrez-le ici : https://github.com/Sidnicious/noeol
Pour moi, j'avais des problèmes avec le tr -d '\n'
approche. Sur OSX, il se trouve que le paquet coreutils est installé par l'intermédiaire de brew install coreutils
. Cela fournit tous les utilitaires GNU "normaux", préfixés par le préfixe g devant leurs noms typiques. Ainsi, head
serait ghead
par exemple.
L'utilisation de cette méthode est plus sûre, selon moi :
pwd | ghead -c -1 | pbcopy
Vous pouvez utiliser od
pour voir ce qui se passe avec la sortie :
$ pwd | ghead -c -1 | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c
0000022
vs.
$ pwd | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c 000a
0000023
La différence ?
El 00
y 0a
sont les hexcodes pour un nul et une nouvelle ligne. Le site ghead -c -1
se contente de "mâcher" le dernier caractère de la sortie avant de la transmettre à | pbcopy
.
$ man ascii | grep -E '\b00\b|\b0a\b'
00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel
08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Remarque : si la raison pour laquelle vous voulez faire cela est de coller dans le champ "Aller à" dans le Finder (tapez
~
), vous pouvez simplement utiliserpwd | pbcopy
coller dans le champ de texte, puis appuyer sur la touche d'effacement.