所以我有這個假脫機文件有這種內容。
SQL> select file_name from dev_files;
FILE_NAME
------------------------------------------------------------------
file1.txt
file2.doc
file3.pdf
total.xls
4 rows selected.
SQL> spool off
我正在寫一個ksh腳本來將這些文件加載到ftp服務器並更新一個日誌文件。並且我在大時間裏堅持着。這是我多次嘗試後糟糕代碼的一部分。
dump="spoolfile.txt"
while read line;
do
if [[`expr match "$line" 'SQL'` !=3]] && [[`expr match "$line" 'FILE_NAME'` !=9]] && [[`expr match "$line" '---------'` !=9]]
then
ftp -inv $tgt_server <<EOT
quote user $uname
quote password $pword
mput $src_path/$line
quit
EOT
echo "sent $line" >> sent_files.log
fi
done < $dump
我如何確保「沒有行選擇」,並說「4行選擇」。不讀?可以有任何數字而不是4對應於文件的數量。在沒有文件的情況下,假脫機文件看起來像這樣。 '。'也失蹤了。
SQL> select file_name from dev_files;
no rows selected
SQL> spool off
你有沒有在SQL * Plus腳本生成spoolfile.txt控制?如果是這樣,你可以事先過濾這些線。 – tawman 2011-04-26 18:46:27
我想到了那個。但似乎輸出是另一個日誌文件需要的。 – Sriram 2011-04-26 18:50:46
那麼,這將是最簡單的,你可以在之後添加所需的日誌記錄:設置標題關閉 設置反饋關閉 設置頁面大小0 設置回顯關閉 – tawman 2011-04-26 18:54:17