我正在尝试解析文件,到处更改行。我有一个简单的循环,像这样:
while read line; do
if *condition* then ;
echo *someChangedOutput* >> newfile
else
echo "$line" >> newfile
fi
done < oldfile
我的问题是“oldfile”中的大多数行都有前导空格。当我将它们读入变量
line
时,前导空格被剥夺了-当我将"$line"
回显到“newfile”时,这些空格就消失了例如,如果“oldfile”为:
line1
line2
line3
“newfile”被创建为
line1
line2
line3
如何在不删除前导空格的情况下从文件中读取一行?
最佳答案
参见http://mywiki.wooledge.org/BashFAQ/001。您需要取消设置IFS
以避免剥离开头和结尾的空格,并且您很可能也想使用-r
:
while IFS= read -r line; do
do_something_with "${line}"
done
关于linux - 如何停止读取剥离空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23132210/