在Unix Shell脚本中逐行读取文件(带空格) - 问题
我想在Unix shell脚本中逐行读取一个文件。行中可以包含前导和尾部的空格,我想在行中也读取这些空格。 我试着用"while read line",但是read命令从行中删除了空格字符:( 例如,如果文件中的行是:-
abcd efghijk
abcdefg hijk
该行应读作:-
1) "abcd efghijk"; 2) " abcdefg hijk"
我试着这样做(没有成功):-
while read line
do
echo $line
done < file.txt
我希望行中包括空格和制表符。 请建议一个方法。
18
2
试试这个、
编辑:
来自 "man bash "的信息
你想读取raw行,以避免输入中出现反斜线的问题(使用
-r
):这将保留行内的空白,但会删除前导和尾部的空白。要保留这些,请将IFS设为空,如
现在,只要 "file.txt "以换行结尾,这就等同于
cat < file.txt
。注意,你必须双引号
"$line"
,以防止分词法将该行分割成不同的词--从而丢失多个空白序列。