Disons que j'ai un fichier appelé file.txt. Il contient le nom d'un fichier que je souhaite modifier avec vi. Je veux faire quelque chose comme ça pour pouvoir éditer le fichier:
cat file.txt | vi
Mais ça ne marche pas. Comment ceci peut être fait?
Pour clarifier les choses:
Voici le contenu de file.txt:
textfile
Je veux donc en quelque sorte envoyer le contenu de file.txt à vi afin que la même chose se produise que lors de la frappe vi textfile
.
Le contenu de file.txt peut changer. Je veux que vi modifie le fichier répertorié dans file.txt.
vi file.txt
. Y a-t-il quelque chose de plus avancé que vous essayez de faire?xclip
puis utilisezxclip -o
pour accéder au presse-papiers sur le shell en x11. juste au cas où vous auriez besoin de remplacerpbpaste
...Réponses:
vous pourriez essayer ceci:
ou, pour éviter l'utilisation du chat par useles:
vous dites vi (m) juste un tas de choses arbitraires. si vous voulez que vi (m) fasse quelque chose comme 'hé, ouvrez ce fichier' vous devez lui donner les mêmes commandes que vous utiliseriez dans vi (m), par exemple. quelque chose comme
:e foo.txt
. mais c'est juste plus compliqué que de faire ce que j'ai proposé.la source
vi $(cat file.txt)
Au moins pour vim (pas sûr de vi), vous pouvez faire
Le «-» indique à vim de lire depuis stdin.
la source