忘记换行符。按列数分割行

忘记换行符。按列数分割行

我正在将一行输出(来自一些集群作业)发送到一个文件。输出有定义的列数,但我忘了在每行末尾添加换行符,因此我的所有输入都被连接到输出文件中的一行长行中。

我怎样才能将输出包装到一定数量的列中?

例如我有:

Alice   1   2   3   Barry   4   5   6   Charlie 7   8   9

我想:

Alice   1   2   3
Barry   4   5   6
Charlie 7   8   9

据我所知awk,它按行进行操作,无法对记录中的当前字段号进行操作,并且fold以固定列宽进行操作。您可以假设每个字段之间都有一个分隔符,该分隔符始终相同 ( \t)。

答案1

假设文件的名称是xyz.txt 那么你可以尝试这些:

sed -i -e '$a\' xyz.txt

或者

回声 Good\\nline2Morning 那么输出将是:

好的

早晨

或者

echo "date用户whoami启动了脚本。"$'\r' >> xyz.txt

这里末尾的 $'\r' 是一个额外的回车符;它加上 Unix 行结尾,将导致 Windows 行结尾。

如果我正确理解了您的问题,请告诉我。

请参阅

谢谢。

相关内容