在bash中遍历文件时保留空白

gre*_*ire 1 bash whitespace loops while-loop

我需要遍历bash中文本文件的所有行,并且我想保留空白。最终目标是提供可能包含空格的词。

因此,给定一个包含

xdebug
var_dump
 dump(
pwet
meuh
coin
Run Code Online (Sandbox Code Playgroud)

当我尝试这个:

while read -r PHRASE
do
    echo "$PHRASE"
done < phrase_file
Run Code Online (Sandbox Code Playgroud)

输出为:

xdebug
var_dump
dump(
pwet
meuh
coin
Run Code Online (Sandbox Code Playgroud)

空格在dump()去之前在哪里,如何将其取回?

Tom*_*ech 5

您可以使用内置$REPLY变量来捕获整行:

while read -r; do
    echo "$REPLY"
done < phrase_file
Run Code Online (Sandbox Code Playgroud)

请注意,如果您命名一个变量(如PHRASE您的示例中所示),则$REPLY不会设置。