如何在处理文件时限制bash删除空格

kas*_*per 6 bash

一个简单但烦人的事情:
使用这样的脚本:

while read x; do  
    echo "$x"  
done<file
Run Code Online (Sandbox Code Playgroud)

在包含空格的文件上:

    text
Run Code Online (Sandbox Code Playgroud)

会给我一个没有空格的输出:

text
Run Code Online (Sandbox Code Playgroud)

问题是我在文本之前需要这个空间(它主要是一个选项卡,但并非总是如此).
所以问题是:如何在这样的脚本中获得与输入文件中相同的行?


更新:好的,所以我改变while read xwhile IFS= read x.

echo "$x"在没有剥离第一个选项卡的情况下给出正确答案,但是,eval "echo $x"剥离此选项卡.

那我该怎么办?

Ign*_*ams 14

read正在剥离空白.$IFS首先擦拭.

while IFS= read x
do
  echo "$x"
done < file
Run Code Online (Sandbox Code Playgroud)