Impedire a wget di inserire interruzioni di riga nei titoli dei file?


2

Quando eseguo il seguente comando:

wget http://mywebsite.com/app/count.php -O count.txt

Ho notato quanto segue:

Saving to: ‘count.txt\r’

wget sta inserendo le interruzioni di riga nei miei nomi di file! C'è un modo per impedirlo?

Grazie per il tuo tempo.


2
Se quel comando wget si trova in un file di script e il file ha terminazioni di riga in stile DOS, il ritorno a capo verrà aggiunto al nome file.
Glenn Jackman,

Grazie mille! Ho trovato una soluzione in base ai tuoi consigli. Ho cambiato il formato del comando, ora sto eseguendo: wget -O "count.txt" mywebsite.com/app/count.php
Clarity

2
Dovresti invece correggere il formato del file: usa dos2unixsu quel file.
Glenn Jackman,

Risposte:


0

Il problema è stato risolto nei commenti. Questa risposta è un estratto per i futuri utenti con problemi simili.

Causa probabile:

Se quel wgetcomando si trova in un file di script e il file ha terminazioni di riga in stile DOS, il ritorno a capo verrà aggiunto al nome file.

Questo perché Linux (sistema simile a Unix in generale) si aspetta \n(un'altra notazione:) LFcome un finale di linea. DOS e Windows use \r\n( CR+LF). Questo ulteriore \rè interpretato da Linux come qualsiasi carattere normale - come parte della linea, in questo caso come parte del nome del file.

Ulteriori informazioni su Wikipedia .

La soluzione di OP:

wget -O "count.txt"

Potrebbe risolvere questo particolare problema, ma \rprobabilmente l'ulteriore è ancora lì alla fine, non come parte del nome file. La soluzione generale consigliata:

Dovresti invece correggere il formato del file: usa dos2unixsu quel file.

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.