Je veux souvent alimenter des données en chaîne relativement courtes (éventuellement plusieurs lignes) à des programmes en ligne de commande n'acceptant que les entrées de fichiers (par exemple, wdiff) de manière répétée. Bien sûr, je peux créer un ou plusieurs fichiers temporaires, enregistrer la chaîne à cet emplacement et exécuter la commande avec le nom du fichier en tant que paramètre. Mais il me semble que cette procédure serait très inefficace si les données sont réellement écrites sur le disque et que cela pourrait également endommager le disque plus que nécessaire si je répète cette procédure plusieurs fois, par exemple si je veux alimenter des lignes simples de texte long fichiers à wdiff. Existe-t-il un moyen recommandé de contourner ce problème, par exemple en utilisant des pseudo-fichiers tels que des tubes pour stocker temporairement les données sans les écrire sur le disque (ou en les écrivant uniquement si elles dépassent une longueur critique). Notez que wdiff prend deux arguments et,wdiff <"text"
.
xargs
, les lignes d'entrée seraient définies à partir des arguments de chaîne de fichier de la commande. Mais j'ai besoin du contraire.
echo $data_are_here | dumb_program
?
xargs
?