2

我正在尝试在一个终端行中显示一些数据。此数据包含文件编号和路径。我正在使用以下代码来做到这一点:

#!/bin/bash 
echo
find . -type f | while read a;
do
sleep 1s;
echo -ne "$a\r";
done

问题是,实际线路并不清楚前一个。目录包含以下文件aaa.aaabbbb.bbbbb输出cccc.cccccccccccccccc顺序如下:

./cccc.cccccccccccccccc
./aaa.aaacccccccccccccc
./bbbb.bbbbbccccccccccc

我希望它是:

./cccc.cccccccccccccccc
./aaa.aaa
./bbbb.bbbbb

我应该怎么做才能清除线路?

4

1 回答 1

2

\033[K在后面加一个\r

echo -ne "$a\r\033[K";

这是擦除当前行上从光标位置到行尾的所有内容的控制序列。

于 2013-04-15T09:12:01.407 回答