我正在将一行输出(来自一些集群作业)发送到一个文件。输出有定义的列数,但我忘了在每行末尾添加换行符,因此我的所有输入都被连接到输出文件中的一行长行中。
我怎样才能将输出包装到一定数量的列中?
例如我有:
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 行结尾。
如果我正确理解了您的问题,请告诉我。
请参阅这。
谢谢。