echo Hello World | nano - | less
Je souhaite modifier Bonjour -> Au revoir dans l'éditeur de texte.
Cela ne doit pas nécessairement être avec nano. Je suis coincé avec la nano lecture de stdin mais j'oblige à écrire dans un fichier (écrire dans - crée un fichier nommé -)
Réponses:
Le paquet moreutils a une grande commande pour ce faire, appelée
vipe
. Depuis la page de manuel:Par défaut, cela utilisera la
editor
commande, qui n'est généralement qu'un lien symbolique vers l'éditeur de ligne de commande par défaut. Vous pouvez changer cela en modifiant le lien (utilisationupdate-alternatives
sur les systèmes basés sur Debian) ou en utilisant laEDITOR
variable d'environnement. Par exemple, vous pourriez faire:Sinon, si l'éditeur de texte particulier ne prend pas en charge ce genre de chose, je pense que vous êtes coincé avec la création manuelle d'un fichier temporaire, l'écriture du fichier, l'exécution de l'éditeur, l'entrée du fichier dans le reste du pipeline et suppression du fichier temporaire. La
vipe
commande s'occupe essentiellement de tout cela. C'est bien, mais la commande est rarement disponible par défaut.la source
L'éditeur de texte joe (alias Joe's Own Editor ) fait ce que vous voulez.
La commande
echo "hello world" | joe - | less
fonctionne comme prévu, bien qu'elle ait besoin des guillemets pour une raison quelconque.Certaines commandes (telles que gpg) produisent une sortie affichée qui n'entre pas dans le tuyau. Cela corrompt l'affichage initial à l'intérieur de Joe, mais appuyer sur Ctrl + R - Actualiser - nettoiera les choses.
la source
Si tout ce que vous voulez est de remplacer "Bonjour" par "Au revoir" (ou tout autre remplacement de mot), vous pouvez éviter l'édition manuelle dans un éditeur au profit de l'outil de recherche et remplacement automatique. Par exemple, "sed" peut effectuer de tels remplacements comme ceci:
Consultez "homme sed" pour plus de détails.
la source