我是shell脚本的初学者。我试图在MySQL表中存储LINUX命令的输出。我需要在列中选择分区详细信息,并在另一列中使用%
。我几乎做到了,但我把输出放在一个列中。在表测试中,磁盘是一个列,使用的是另一列。我想要的输出是
**DISK** **USED**
filesystem 45%
但我的实际输出就像
**DISK USED**
filesystem
45%
我的代码:
df -h | tee /home/abcd/test/monitor.text;
details=$(awk '{ print $1 } ' monitor.text);
echo $details;
used=$(awk '{ print $5}' monitor.text);
echo $used;
mysql test<<EOF;
INSERT INTO test_1 (details,used) VALUES ('$details','$used');
EOF
请给我正确的输出代码。
提前谢谢。
答案 0 :(得分:0)
这是一个捕获这两列精确值的脚本你可以进行插入吗?
#!/bin/sh
df -h | awk '{ print$1 " " $5} ' > monitor.txt
exec<monitor.txt
value=0
while read line
do
col1=`echo $line | cut -f1 -d " " `
col2=`echo $line | cut -f2 -d " " `
echo $col1
echo $col2 ;
done
将插入语句插入do-done循环中。