有没有办法观察正在另一个shell中正在执行的命令,因为它们正在被执行?两个 shell 都是 bash,如果重要的话,我有 root 访问权限。我无法安装任何额外的软件,并且我不希望其他 shell 必须执行任何特殊操作,例如运行屏幕。
情况:我远程登录到一台 Linux 机器,一个同事也是。我想看看她在 shell 中运行的命令。我知道,我可以使用的某种组合watch
,并ps
看到,需要比第二运行的时间更长的任何命令,但我不相信会在很短的命令帮助。
我的文件是由没有在记录末尾放置换行符的程序生成的。我想在记录之间添加换行符,我可以用一个简单的 sed 脚本来做到这一点:
sed -e 's/}{/}\n{/g'
Run Code Online (Sandbox Code Playgroud)
问题在于输入文件的大小为数 GB,因此 sed 的输入行的长度为数 GB。sed 尝试在内存中保留一行,在这种情况下不起作用。我尝试了该--unbuffered
选项,但这似乎使它变慢并且无法正确完成。