Invia il risultato di più comandi a un file di testo?
Domanda
Questo è quello che ho finora: il mio dropbox pubblico URL script di creazione per una directory di URL pubblici ( getdropbox.com - gpl penso). Il mio file LIST
è stato creato usando ls nel modo seguente:
ls -d ~/Dropbox/Public/PUBLICFILES/* > LIST
dropboxpuburl.sh:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH > ~/URLLIST/$PATH
done
Ora questo crea un'intera serie di file, ognuno con il dropbox puburl in essi.
La domanda è: come posso fare in modo che questo script reindirizzi tutti i collegamenti pubblici in un file di testo, ognuno su una nuova riga, magari con il nome ELENCO PUBBLICO-DIRECTORY ?
Soluzione
È questo ciò che stai cercando di ottenere?
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH >> filename
done
Altri suggerimenti
OK, ho funzionato usando i suggerimenti che mi sono stati forniti qui:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH
done > PUBLIC-DIRECTORY-LIST
Crea un elenco delle directory e sotto di esse il link pubblico. Ora è il momento di eliminare le directory per un file di testo pulito di collegamenti.
Il = > crea i file e aggiunge qualcosa alla prima riga. & Gt; > lo aggiunge su una nuova riga.
echo txt=>PUBLIC-DIRECTORY-LIST.txt |
echo another text>>PUBLIC-DIRECTORY-LIST.txt
Dovresti usare durante la lettura
con reindirizzamento di input invece di per
con cat nomefile
. Inoltre, al fine di evitare conflitti di nomi di variabili, ho cambiato la variabile del percorso in minuscolo poiché la shell utilizza già quella maiuscola. Non influirà sulla shell interattiva, ma potrebbe influire su qualcosa nel tuo script.
Inoltre, supponendo che si desideri che le linee del file di input vengano visualizzate sullo schermo come indicatore di avanzamento, ma non acquisite nel file di output, questo echo
lo invia a stderr
.
while read path
do
echo $path >&2
dropbox puburl $path
done < LIST > PUBLIC-DIRECTORY-LIST