locate ... | less
génère un long chemin, qui est affiché sous la forme de plusieurs lignes dans le terminal, bien qu'il s'agisse en fait d'une seule ligne.
Je copie le chemin depuis le terminal en sélectionnant le texte avec la souris et en appuyant sur Ctrl +Maj +C .
Lorsque je le colle dans un fichier texte, j'obtiens une ligne de changement indésirable dans le texte, exactement de la même manière qu'il est affiché dans le terminal.
Mais je me souviens parfois que je peux copier une sortie de long chemin par locate ... | less
, sans introduire de changement de ligne indésirable, et parfois je ne peux pas. Je ne me rends pas compte si je fais quelque chose différemment.
Je me demande donc comment m'assurer que le problème ne se produira pas? Merci !
Mon système d'exploitation :Ubuntu 12.04.
Mon terminal :Gnome Terminal 3.4.1.1
Réponse acceptée :
Au lieu de copier ce qui est affiché sur le terminal (seulement ce qui tient sur l'écran, avec), copiez le texte réel. Utilisez l'un des utilitaires externes xsel ou xclip (ils ont pour la plupart les mêmes fonctionnalités, j'utiliserai xsel dans cette réponse) pour copier des données depuis ou vers le presse-papiers X. Pour copier dans le presse-papiers, passez le contenu souhaité sur l'entrée standard. Lors du collage depuis le presse-papiers, le contenu est écrit sur la sortie standard.
En moins, utilisez le |
commande pour diriger un groupe de lignes via une commande. Faites défiler jusqu'à la première ligne sur laquelle vous souhaitez agir, tapez mm
pour définir une marque, faites défiler jusqu'à la dernière ligne et tapez |mxsel -b
et appuyez sur Entrée . Deux marques sont prédéfinies :^
pour le début du fichier, $
pour la fin du fichier. Ainsi, pour copier tout le fichier, utilisez <|$xsel -b
. Pour copier une seule ligne, utilisez mm|mxsel -b
et Entrée .
Supprimez le -b
option pour copier dans la sélection principale au lieu du presse-papiers.