【发布时间】:2023-03-11 14:11:01
【问题描述】:
我正在尝试将命令输出写入 csv 文件。下面是我想用来将数据写入 csv 文件的命令
ps -eo pid,comm,pmem,vsz | grep process | awk '{print $1",",$2",",$3",",$4}'
我们如何在 Perl 中做到这一点。 csv 文件的标题应具有相应的值:
pid,comm,pmem,vsz
我试图做这样的事情,但它不适合我:
echo "execution started.."
pid,comm,pmem,vsz >> out.txt
while [ true ]; do
echo "running.."
sleep 2
ps -eo pid,comm,pmem,vsz | grep process | awk '{print $1",",$2",",$3",",$4}' >> out.txt
done
【问题讨论】:
-
请记住,CSV 格式需要转义可能出现在数据中的任何引号。
-
有关 Perl 解决方案,请参阅 this answer。
-
您对这部分的哪一部分有问题?
ps部分、grep部分还是awk部分?您是否尝试在不调用ps的情况下在 Perl 中完成所有这些操作? -
“不工作”到底是什么意思?请提供minimal reproducible example。此外,您的代码都没有使用 Perl,那么这与您的问题有什么关系?