我需要從固定長度的文件中剪切行並將其粘貼到以180開頭且位置35具有「N」的行的新文件中。 我使用** **慶典根據unix中的列值刪除行
**Sample input file:**
070000001 075PRMAGDALENA F DEL 180AP997270518411 Y02092014
180AP997270518412 N02092014
180AP997270518413 N03212013
PAYMNT
190EM037490013798700
070000002 075PRRERUCHA TROY A 195097130808020800 070000003
180AP997270518423 Y03212013
**Sample input end**
代碼:
while IFS= read -r line
do
## var=$((var+1))
if [ ${line:0:3} = '180' ] && [ ${line:34:1} = 'N' ] ;
then
echo $line > online_error.txt
else
echo $line > online_good.txt
fi
done <"$file"
代碼結束
**輸出開始**
180AP997270518423 N03212013
**輸出結束** 在上述輸出中,空間丟失。我希望我的輸出具有與我的輸入行相似的間距。字母「N」在我的輸入文件中定位在35,其中輸出爲19.
if部分將輸出寫入文件,但是我失去了格式。我需要保留原始格式,因爲此腳本的輸出是爲另一個大型機程序輸入的。
請提供建議。
你是什麼意思「我失去了格式」? – Floris
使用'echo'$ line「'來保留行中的間距。 –
echo $ line,以某種方式不保留間距 – user3290216