0
我有一個腳本:shell腳本以文件的最後一個空行也
#! /usr/bin/ksh
TODAY=$(date +%Y%m%d)
list=$1
FILE_NAME="IMEI.txt"
OUTFILE="${list}_list.out"
##########################################
if [ -z ${list} ]
then
echo "Use the syntax ./add_imei.sh <list number>"
exit 0
fi
while read LINE
do
IMEI=`echo $LINE |
sed 's/ //g' | sed -e 's/[^ -~]//g'`
END_SERIAL=`echo $IMEI |
cut -c9- | sed 's/ //g' |
sed -e 's/[^ -~]//g'`
echo \
"CRE:EQU,${IMEI}0,${END_SERIAL},${list},,${TODAY};" \
>> ${OUTFILE}i
done < "${FILE_NAME}"
該腳本將14位數字號碼從文件IMEI.txt
的每一行,建這樣的命令:
CRE:EQU,777777777777770,777777,0,,20130611;
並將其保存在單獨的輸出文件中。非常簡單的工作。一切工作正常,但是當我看到輸出文件我看到這一點:
CRE:EQU,444444444444440,444444,0,,20130611;
CRE:EQU,555555555555550,555555,0,,20130611;
CRE:EQU,666666666666660,666666,0,,20130611;
CRE:EQU,777777777777770,777777,0,,20130611;
CRE:EQU,0,,0,,20130611; <-- *)
*)的輸入線也是最後一個空行(爲我打了過去,同時節省輸入文件輸入),它是在輸出文件中建立一個我不想要的命令。任何快速,簡短和聰明的方法來解決這個問題?
非常感謝。第一種方式對我來說工作得很好。不知怎的,第二種方式不適合我。 –
哦,麻煩 - 我已經在循環後面留下了<<$ FILE_NAME「',這會覆蓋來自'sed'命令的輸入。我刪除了那個;該命令應該可以工作。 –
感謝您試用@HankLangeveld,但修改後的代碼對我來說是無法讀取的。你使用的是什麼尺寸的屏幕,你得到的水平滾動條顯示的代碼?它的屏幕上沒有滾動條(1920x1400或左右)。 –