如何防止命令将输出分成多行?

如何防止命令将输出分成多行?

我有一个非常简单的 bash 脚本,如下所示:

printf '1\n' | myapp > ../values.txt

我的应用程序是一个询问问题的垃圾箱,我想在其中回答“1”。

问题是输出相当宽并且我的应用程序实际上是在一定数量的字符之后继续在下一行中打印。

有没有办法让我告诉我的脚本“输出宽度”只要你想要的那么长并且不改变行除非实际输出有换行符?

我做了一些研究,似乎是 $COLUMNS 变量可能我需要的。但我无法让它发挥作用。

答案1

尝试(10 个字符后的示例):

echo "asjdajsdoiajsodijaosidjaoijsdoaijoasjoadi" | sed -e "s/.\{10\}/&\n/g"

答案2

如何 yourapp写入输出是它自己的决定。您可以调整输出(如另一个答案所述),但要更改输出格式,您必须更改yourapp.

相关内容