Отправить результат нескольких команд в один текстовый файл? - PullRequest
1 голос
/ 23 октября 2009

Это то, что у меня пока есть - мой общедоступный Dropbox URL сценарий создания каталога общедоступных URL-адресов ( getdropbox.com - gpl, я думаю). Мой LIST файл был создан с использованием ls следующим образом:

ls -d ~/Dropbox/Public/PUBLICFILES/* > LIST

dropboxpuburl.sh:

for PATH in `cat LIST`
do
   echo $PATH
   dropbox puburl $PATH > ~/URLLIST/$PATH
done

Теперь создается целая серия файлов, в каждом из которых есть dropbox puburl.

Вопрос: как я могу заставить этот скрипт перенаправлять все публичные ссылки в один текстовый файл, каждый в новой строке - возможно, с именем PUBLIC-DIRECTORY-LIST ?

Ответы [ 4 ]

3 голосов
/ 23 октября 2009

Это то, что вы пытаетесь достичь?

for PATH in `cat LIST`
   do
      echo $PATH
      dropbox puburl $PATH >> filename
   done
1 голос
/ 23 октября 2009

ОК, у меня все работает, используя предложения, которые были даны мне здесь:

for PATH in `cat LIST`
do
    echo $PATH
    dropbox puburl $PATH
done > PUBLIC-DIRECTORY-LIST

Создает список каталогов и под ними публичную ссылку. Теперь пришло время сократить каталоги для чистого текстового файла ссылок.

0 голосов
/ 23 октября 2009

Вы должны использовать while read с перенаправлением ввода вместо for с cat filename. Кроме того, чтобы избежать конфликтов имен переменных, я изменил вашу переменную пути на строчные, поскольку оболочка уже использует заглавные буквы. Это не повлияет на вашу интерактивную оболочку, но может повлиять на что-то в вашем скрипте.

Кроме того, предполагая, что вы хотите, чтобы строки из вашего входного файла отображались на экране в качестве индикатора прогресса, но не записывались в ваш выходной файл, этот echo отправляет его на stderr.

while read path
do
    echo $path >&2
    dropbox puburl $path
done < LIST > PUBLIC-DIRECTORY-LIST
0 голосов
/ 23 октября 2009

=> создает файлы и добавляет что-то в первую строку. >> добавляет к нему новую строку.

echo txt=>PUBLIC-DIRECTORY-LIST.txt |
echo another text>>PUBLIC-DIRECTORY-LIST.txt 
...