我有这个
while read -r line
do
echo -e "$line\r"
done <<< $keys
其中$ keys,如果打印,则显示30k行。
当如上所述进行回声时,我只得到一行作为输出。
我需要过滤每一行然后输出它。
答案 0 :(得分:1)
由于\r
命令中的echo
,这种情况正在发生。
将解决将其替换为:
echo "$line"
同样重要的是要注意,要调用变量,您最好使用"$keys"
来保留其格式。
所有在一起:
while read -r line
do
echo -e "$line"
done <<< "$keys"
答案 1 :(得分:1)
while read -r line
do
echo -e "$line\r"
done <<< "$keys"
观察<<< "$keys"
查找
$ printf -v keys '%s\n' "key one" "key two"
$ echo $keys
key one key two
$ # Oh dear
$ # Now with quotes:
$ echo "$keys"
key one
key two
$ # Yeah :)
$ # Same with a here string:
$ while read line; do echo "$line"; done <<< $keys
key one key two
$ # Oh dear :(
$ # Now with quotes:
$ while read line; do echo "Read: $line"; done <<< "$keys"
Read: line one
Read: line two
$ # Done \o/
在这篇文章中,您了解到:
现在请记住,