我该如何制作
echo 'kindle' - `( du -sh /media/boudiccas/back1/obkindle |awk '{ print $1; }' )`
输出到另一个文件只是给出一个名字和一个数字和一个gb [例如2.0gb]然后可以被conky读取吗?所以最终的输出会显示出类似的东西
kindle - 2.0gb
这是“baksize”的完整脚本,每5分钟调用一次(仅用于测试)来自cron作业
echo 'kindle' - ` du -sh /media/boudiccas/back1/obkindle |awk '{ print $1; }'`>~/bin/backshow 'kindle-rsync' - `du -sh /media/boudiccas/back1/Kindle |awk '{ print $1; }'`>~/bin/backshow
echo 'home' - `du -sh /media/boudiccas/back1/obnam-home |awk '{ print $1; }'`>~/bin/backshow 'back4' - `du -sh /media/boudiccas/back1/obnam-back4 |awk '{ print $1; }'`>~/bin/backshow
echo 'blog' - `du -sh /media/boudiccas/back1/obblog |awk '{ print $1; }'`>~/bin/backshow 'blogrs' - `du -sh /media/boudiccas/back1/blogback |awk '{ print $1; }'`>~/bin/backshow
echo 'galaxyrs' - `du -sh /media/boudiccas/back1/galaxy |awk '{ print $1; }'`>~/bin/backshow 'back2a' - `du -sh /media/boudiccas/back1/ob-back2a |awk '{ print $1; }'`>~/bin/backshow
echo 'back2b' - `du -sh /media/boudiccas/back1/ob-back2b |awk '{ print $1; }'`>~/bin/backshow 'back2c' - `du -sh /media/boudiccas/back1/ob-back2c |awk '{ print $1; }'`>~/bin/backshow
这是“backshow”
ob-home 204.83gb music 325.08gb
ob-blog 23.92gb rsync-blog .70gb
2a 671.92gb 2b 244.23gb
2c 28.01gb 2d 469.98gb
ob-kindle 2.56gb rsync-kindle .97gb
答案 0 :(得分:1)
您的要求并非100%明确,因此此解决方案涵盖少数变体
#!/bin/bash
file=~/bin/backshow
if ! >$file; then
echo "Error: Access issue while creating file";
exit 1;
fi
function ComposeFile() { #arg1 friendly_name; arg2 dir
size_kb=`(du -s $2 | awk '{print $1}') 2>/dev/null`;
if [ -n "${size_kb}" ]; then
#calculate into gb with 2 floting ponts controlled by scale
gb=`echo "scale=2; $size_kb / 1024 / 1024" | bc -l`;
#if you need wider columns change 25 into i.e. 35
printf '%-25s %-25s\n' "$1" "${gb}gb" >> $file
fi
}
ComposeFile temp /var/tmp
ComposeFile doesnt_exist /dummy
ComposeFile another_dir /opt
ComposeFile dell /opt/dell
ComposeFile blahblah /opt
ComposeFile ufffff /opt
#joins every second line
sed -i '$!N;s/\n/ /' $file
cat $file
exit 0;
新产品:
-bash-4.1$ ./stackoverflow.sh
temp 0gb another_dir 3.41gb
dell .30gb blahblah 3.41gb
ufffff 3.41gb
答案 1 :(得分:0)
使用> filename
重定向到文件:
echo 'kindle' - `du -sh /media/boudiccas/back1/obkindle |awk '{ print $1; }'` > filename