2009-10-23 61 views
1

這就是我到目前爲止 - 我的保管箱公開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

回答

3

這是你想要實現的嗎?

for PATH in `cat LIST` 
    do 
     echo $PATH 
     dropbox puburl $PATH >> filename 
    done 
+0

雖然您可能想刪除該文件或將其重置爲空循環之前。 – ndim 2009-10-23 09:23:08

+0

這不會列出文件中的輸出 - 只有命令 - 但是我已經得到它的工作 - 我應該回答我自己的問題嗎? – user191960 2009-10-23 09:25:06

+0

但是我的腳本列出了路徑,然後是輸出。 – user191960 2009-10-23 09:26:07

0

=>創建文件並在第一行添加內容。 >>添加到新行中。

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

好了,我懂了工作使用給了我這裏的建議:

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

它創建的目錄列表,並在它們下面的公共鏈路。現在是修剪鏈接乾淨文本文件的目錄了。

0

您應該使用while read輸入重定向而不是forcat filename。另外,爲了避免變量名稱衝突,我將路徑變量改爲小寫,因爲shell已經使用全大寫。它不會影響您的交互式shell,但可能會影響腳本中的某些內容。

此外,假設您希望輸入文件中的行作爲進度指示器顯示在屏幕上,但未在輸出文件中捕獲,則此echo會將其發送到stderr

while read path 
do 
    echo $path >&2 
    dropbox puburl $path 
done <LIST> PUBLIC-DIRECTORY-LIST 
相關問題