这不是“如何追加而不是覆盖”的问题。我不是在寻找结合了两个命令的输出的文件。这只是我犯的一个错误,我想了解系统为什么会这样做
我使用的命令(在远程 ssh 命令行上)需要很长时间才能完成并将数据(每隔几秒一行一行)输出到 stdout,因此我将其重定向到一个文件:
command > file.out &
有时远程会话会断开连接,但命令会继续在后台运行。我不知道这一点,所以在第一个命令完成之前,我再次运行了相同的命令:
command > file.out &
当两个进程都完成后,我希望(在阅读本站点的一些答案后)有一个文件,其中两个命令的行都搞砸了,但输出文件只有两个执行之一的输出。
为什么不将文件中有交织在一起(如在评论中警告说,两路输出这里)?最终文件属于 2 个输出中的哪一个?
编辑:
的问题已删除一个(为什么是输出文件没有锁定写?),因为它的解释这里
我有两个文件,每个文件仅包含一列数字数据,并且行数相同。使用 时paste
,它确实将两个文件中的行合并为一行,但第一个文件的文本被截断,而第二个文件中的文本保持不变:
$ head -3 s1_.dat s2_.dat
==> s1_.dat <==
-0.023193359375
-0.020416259766
0.014587402344
==> s2_.dat <==
-0.018707275391
-0.019805908203
0.011108398438
$ paste s1_.dat s2_.dat | head -3
-0.02319-0.018707275391
-0.02041-0.019805908203
0.0145870.011108398438
Run Code Online (Sandbox Code Playgroud)
中是否有列宽限制paste
?