我有Linux命令的输出“谁” 它提供了以下细节......
CURRENT USER/ACCT INFO
17:31:36 up 4:49, 4 users, load average: 0.03, 0.04, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 - 12:59 ?xdm? 4:54 0.02s /bin/sh /usr/bi
root pts/0 :0 12:59 4:31m 0.00s 1:20 kded [kdeinit]
root pts/1 :0.0 16:18 1.00s 0.00s 0.00s -bash
root pts/2 :0.0 16:25 49.00s 0.02s 0.00s bash
此输出我保存到名为WHO.log
的文件中现在如何将此输出转换为CSV格式,以便我可以将其导出到某个数据库中, 使用一些bash脚本?
答案 0 :(得分:1)
试试这个:
your_who_command | awk '{$1=$1; print}' OFS=,
答案 1 :(得分:0)
完全未经测试,但试一试
who | awk '{ if (NR!=1 && NR!=2) {print} }' | sed -e 's/ /, /g'
答案 2 :(得分:0)
假设命令是'who'(你确定吗?),那么你需要空格分隔列1-7输出为逗号分隔字段1-7,但是你需要将第8列和后来作为一个输出字段处理。这可能最好用shell read命令处理。我假设前三行应该被丢弃。
who | sed '1,3d' |
while read user tty from login idle jcpu pcpu what
do echo "$user,$tty,$from,$login,$idle,$jcpu,$pcpu,$what"
done