我在保存電報輸出時遇到問題。我的問題是,我每分鐘從服務器獲取資料。我的非常簡單的代碼可以將這些連續資料保存到 .txt 檔案中。
但我想要的是,將這些資料存盤在每日檔案夾中。根據此代碼,在運行時,它會創建當天檔案夾,但會在同一檔案夾和同一檔案中繼續添加第二天的資料。
對您解決此問題的幫助/建議將非常有幫助。
我的示例代碼是:
#!/bin/bash
foldername=$(date %Y%m%d)
mkdir -p /home/bash-test/"$foldername"
echolog(){
if [ $# -eq 0 ]
then cat - | while read -r message
do
echo "$(date -u "%F %T %Z ; ") $message" | tee -a $MY_LOG
done
else
echo -n "$(date -u '%F %T %Z') ; " | tee -a $MY_LOG
echo $* | tee -a $MY_LOG
fi
}
telnet 197.204.12.253 1001 | echolog > /home/bash-test/"$foldername"/Ppt_$(date %Y%m%d).txt
uj5u.com熱心網友回復:
哦,現在我知道了,'echolog' 是你的功能,雖然我最初尋求的是一些應用程式。可以這樣簡化:
#!/bin/bash
fun(){
while read data; do
printf -v folder '%(%Y%m%d)T' -1
printf -v filenm 'test_%(Y%m%d_%h%s)T.txt' -1
mkdir -p $folder &> /dev/null
echo "$data" >> "$folder/$filenm"
done
}
tail -f file | fun
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/390149.html
