我的bash腳本不工作的方式,我希望它:如何讓我的bash腳本工作?
#!/bin/bash
total="0"
count="0"
#FILE="$1" This is the easier way
for FILE in $*
do
# Start processing all processable files
while read line
do
if [[ "$line" =~ ^Total ]];
then
tmp=$(echo $line | cut -d':' -f2)
count=$(expr $count + 1)
total=$(expr $total + $tmp)
fi
done < $FILE
done
echo "The Total Is: $total"
echo "$FILE"
有另一種方式,以便它讀取參數到$1
而不是$FILE
修改此腳本?我已經使用while
循環嘗試:
while [ $1 != "" ]
do ....
done
此外,當我實現了代碼重演。有沒有辦法解決這個問題?
我遇到的另一個問題是,當我有多個文件hi*.txt
它給了我重複。爲什麼?我有像hi1.txt
hi1.txt~
這樣的文件,但波形文件是0字節,所以我的腳本不應該找到任何東西。
我有什麼好,但可以改善。我很感謝你的awk建議,但是它現在超越了我作爲unix程序員的水平。
Strager:我的文本編輯器自動生成的文件不包含任何內容..它只有0個字節..但是我繼續前進並刪除它們以確保它。但是,我的劇本實際上並沒有兩次閱讀所有內容。當它真的不應該時,我想它再次循環。我試圖用退出命令來保持沉默。但是沒有成功。
while [ "$1" != "" ]; do
# Code here
# Next argument
shift
done
這段代碼很漂亮,但我一次指定所有可能的命令。示例:hi [145] .txt 如果提供將一次讀取所有三個文件。 假設用戶輸入hi * .txt; 然後我得到所有我喜文件讀取兩次,然後再次添加。
我該如何對它進行編碼,以便在指定hi * .txt時讀取我的文件(只是一次)? 我真的認爲這是因爲沒有1美元。
請更好地格式化您的代碼。選中它並點擊小代碼按鈕,或者至少確保它縮進四個空格。 – Dustin 2008-11-29 00:28:00