我正在编写一个测试脚本,需要收集" free -m"在背景处以某个间隔输出。但是,watch cmd
发送控制序列以删除旧输出,认为它在终端中。但是我不想要那个,我想要整个过程中的价值观。这可能吗?
总之;我跑
watch -n 1 "free -m | grep buffers/cache" > time
我希望时间有多行:
-/+ buffers/cache: 2212 5730
-/+ buffers/cache: 2219 5730
-/+ buffers/cache: 2217 5730
但它只包含:
0u May 8 20:39:19 2014
-/+ buffers/cache: 2212 5730
答案 0 :(得分:1)
只需使用循环:
while : ; do free -m | grep buffers; sleep 1; done
冒号相当于true
。
如果您愿意,可以重定向到名为time
的文件:
while : ; do free -m | grep buffers >> time; sleep 1; done