@WHILE迴圈語句@
v1=1
while [ "$v1"-lt "6" ]#注[和]的前後都有空格, -lt的前後都有空格
do
echo"this is the $v1 time of showing up"
v1=$(($v1+1)) #注意$(( ))是數學計算式
done
@FOR迴圈語句@
for ((i=1;i<=$LENGTH_EXTEND_DAYS;i++))
do
...
done
例如
filelist=""
for ((i=1;i<=$LENGTH_EXTEND_DAYS;i++))
do
DATEi=`date +%Y%m%d -d "$DATE $i days ago"`
if [ $i -le $LENGTH_DAYS ]; then
file=$OUTPUT_PATH/$DATEi/1day.txt
else
file=$OUTPUT_PATH/$DATEi/1day_one.txt
fi
if [ -s $file ]; then
tempfile=$file.tmpfile
cat $file |awk-F"\t" -v delta=$i '{printf("%s",$1); for (i=2; i<=NF;i++) {split($i,a,"|");printf("\t%s|%s|%s|%d",a[1],a[2],delta+1,a[3]); } printf("\n")}' >$tempfile
filelist=$filelist""$tempfile
fi
done
sort -m --temporary-directory=./ $filelist >$WEEK_MERGE.imcomplete
mv $WEEK_MERGE.imcomplete $WEEK_MERGE
rm -f $filelist
@遍曆檔案夾中的檔案@
INDEX_FILE_LIST=`ls$INDEX_WEBSITE_DIR`
for INDEX_FILE_NAME in $INDEX_FILE_LIST
do
INDEX_TIME=${INDEX_FILE_NAME#*.}
CACHE_FILE_HOURLY_OUTPUT=$CACHE_DIR/cache.file.$INDEX_TIME
awk -F"\t" '{
cache_map_single_file[$1]=$3
}END{
for(i in cache_map_single_file)
printi"\t"FILENAME"-"cache_map_single_file[i]
}'>$CACHE_FILE_HOURLY_OUTPUT $INDEX_WEBSITE_DIR/$INDEX_FILE_NAME
done
@遍曆檔案夾中的檔案@
filelist=`ls A`
for filename in $filelist
do
your-command $filename >${filename}.new
done