Come mai il piping sì a un file non funziona?


0

Ho provato a fare questo:

yes > yes.txt

Successivamente, yes.txt viene creato ma è completamente vuoto.


1
Impossibile riprodurre su OS X (BSD). Puoi yes | cat -v > yes.txt, forse la tua implementazione yes in yesqualche modo impedisce di scrivere in un file?
Daniel Beck

Inoltre, vuoi chiedere questo su StackOverflow, credo.
Tekknolagi,

1
@tekknolagi Lo chiuderanno semplicemente come fuori tema. È perfettamente accettabile qui.
Daniel Beck

@DanielBeck okey doke
tekknolagi il

2
Il codice sorgente su GNU yesnon indica una gestione speciale dell'output in file. Sei sicuro che, ad esempio, il tuo disco non sia già pieno? Hai annullato il comando, quindi ad esempio il buffering delle scritture su disco non è più un problema?
Daniel Beck

Risposte:


1

vuoi fare

`yes` > yes.txt

Che eseguirà yese scriverà l'outputyes.txt


Nota: il yescomando genera una linea, 'y' per impostazione predefinita, all'infinito - il processo sopra menzionato consumerà memoria, CPU e spazio su disco fino a quando non ci sarà memoria libera, dopodiché verrà terminato. Potrebbe essere necessario terminarlo manualmente.


2
Hai davvero provato questo? ` yes` non finirà mai, consumerà solo molta memoria!
Daniel Beck

1
@DanielBeck è quello che vuole ... L'ho provato, in effetti. Non ha mai chiesto se fosse consigliabile: P
tekknolagi il

@DanielBeck vedi la risposta di @ ChrisNava e la risposta di @ RazorStorm
tekknolagi il

3
assicurati di sapere cosa fa `` o $ () prima di usarlo. @Daniel ha ragione che l'unica cosa che fa è un grande consumo di memoria e la terminazione dopo che non c'è più memoria libera.
Cougar,

1
Sono d'accordo con tekknolagi. Se l'OP vuole saltare da una scogliera, lascia che sia.
Surfasb,

1

la tua soluzione originale yes > yes.txtdovrebbe funzionare ... anche se potresti aggirarla in questo modo

while true; do echo yes; done >> yes.txt

0

Ho trovato la soluzione; il mio hard disk era pieno>. <


1
Se ciò fosse vero, avresti dovuto ricevere un No space left on deviceerrore.
bwDraco,

@Gryllida, rimuovi alcuni file e riprova. all'inizio ho avuto un errore di diskquota superato mentre facevo qualcos'altro. Ho pensato che l'eliminazione del file avrebbe aiutato, ma il file non è stato effettivamente eliminato.
Razor Storm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.