C'est probablement facile, mais je ne peux pas le comprendre et c'est à peu près impossible à rechercher. Dans une hiérarchie de dossiers, j'ai exactement un fichier de type xyz. Je veux trouver ce fichier et l'ouvrir avec une commande de terminal.
find . -name *.xyz
Cela renverra le fichier que je recherche. Maintenant, comment puis-je l'ouvrir automatiquement, sans taper le nom?
find . -name *xyz | open
Ça ne marche pas. Il dit qu'il n'a pas trouvé la commande open.
Réponses:
@retracile est correct. Vous devez l'ouvrir avec «quelque chose». Cependant, je préfère utiliser exec plutôt que xargs.
find . -name '*.xyz' -exec cat {} \;
cela retournera
cat fileFound.xyz; cat fileFound2.xyx;
etc .. cependant, vous vous attendez à trouver un seul fichier.notez que le fait
\;
de+
revenir à reviendraitcat fileFound.xyz fileFound2.xyz
selon le cas, le plus tard peut-être le choix préféré.pour en savoir plus, je voudrais vous diriger vers cette question
la source
La commande que vous recherchez s'appelle
xdg-open
Essayez votre commande avec:
la source
Vous devez savoir quel programme vous souhaitez utiliser pour ouvrir le fichier. Si c'est une image, vous pouvez utiliser gwenview ou quelque chose.
Prendre des entrées et les transformer en arguments se fait avec xargs. Et vous voudrez échapper à ce caractère générique ...
Et pour gérer les espaces dans les noms de fichiers ....
la source
Comme d'autres l'ont souligné, votre question n'est pas assez précise pour répondre clairement. Donc, deviner une autre signification possible: si vous voulez l'exécuter en tant qu'exécutable, (ce qui signifie que votre programme est un exécutable), indiquez au shell que vous souhaitez remplacer la sortie de la commande find dans le cadre de la ligne de commande :
la source
Si vous vouliez ouvrir tous les fichiers trouvés par
find
dans des onglets séparés dans une seule instance de vim, vous pouvez le faire:la source