我正在使用以下代码读取文件:
displayLine(){
echo $line
}
filename="SampleFile"
while read line
do
displayLine $line
done < "$filename"
使用脚本后我得到的文件格式是这样的:
ID EVENT OK NOK
101 ABC1123 ok nok
101 ABC1223 ok
101 ABC1323 ok nok
101 ABC1423 ok nok
但文件的实际格式是这样的:
ID EVENT OK NOK
101 ABC1123 ok nok
101 ABC1223 ok
101 ABC1323 ok nok
101 ABC1423 ok nok
我的脚本以某种方式修剪了单词之间的额外空格。但是,我想要文件的实际格式。
谁能告诉我如何实现这一目标?
谢谢!!
答案1
引用您的变量并IFS=
与 read 一起使用,如下所示:
displayLine(){ printf '%s\n' "$line"; }
filename="infile"
while IFS= read -r line
do
displayLine "$line"
done < "$filename"