1.想在df -h 前面加個時間列?
- df -h | sed 's/^/ \t \t /g' | sed '1s/^ \t /datetime/' | \
- sed "2,$ s/^ \t /`date +%Y-%m-%d`/"
也可以有比較複雜的方式:
- vi test.sh
- #############################
- #!/bin/bash
- dat=`date +'%Y-%m-%d-%H-%M-%S'`
- ipaddr=`ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}'`
- hostname=`hostname`
- df -h | grep '^\/dev'|
- while read line
- do
- echo $dat $hostname $ipaddr $line
- done
- #############################
- chmod +x test.sh
補充一種方法,使用的awk+shell外部變量:
- var=`date +%Y-%m-%d` ;
- df -Th |awk -v awk_var="$var" 'BEGIN {time="日期時間"}; \
- NR==1 {print time"\t",$0}; NR!=1 { print awk_var"\t",$0}'
或者直接在awk裏面使用shell命令的方式:
- df -Th |awk 'BEGIN {time="日期時間";"date +%Y-%d-%m"|getline var;}; \
- NR==1 {print time"\t",$0}; NR!=1 { print var"\t",$0}'
- df -Th |awk ' NR==1 {print var1"\t",$0}; NR!=1 { print var2"\t",$0}' var2=`date +%Y-%m-%d` var1="日期時間"
效果一樣。
參考:http://cs2011.blog.51cto.com/2281851/527190