Spesso desidero inviare dati stringa relativamente brevi (che potrebbero essere diverse righe) a programmi a riga di comando che accettano ripetutamente l'input dai file (ad es. Wdiff). Certo che posso creare uno o più file temporanei, salvare lì la stringa ed eseguire il comando con il nome del file come parametro. Ma mi sembra che questa procedura sarebbe altamente inefficiente se i dati vengono effettivamente scritti sul disco e potrebbe anche danneggiare il disco più del necessario se ripeto questa procedura molte volte, ad esempio se voglio alimentare singole righe di testo lungo file su wdiff. Esiste un modo consigliato per aggirare questo, ad esempio usando file pseudo come pipe per archiviare temporaneamente i dati senza effettivamente scriverli sul disco (o scriverli solo se supera una lunghezza critica). Nota che wdiff accetta due argomenti e,wdiff <"text"
.
xargs
, renderebbe le righe di input dagli argomenti della stringa di file per il comando. Ma ho bisogno del contrario.
echo $data_are_here | dumb_program
?
xargs
?