用awk打印

时间:2014-09-04 20:14:05

标签: macos bash awk

我目前有一个脚本,它将查询partition.dumodule的所有权并打印出信息:

 echo *Checking Partition Permission* Hostname=$(hostname) LastChecked=$(date)
 ls -l /applications/utilities/Disk\ Utility.app/contents/Plugins | grep Partition.dumodule | awk -v a=Username= -v b=DateModified= '{print a $3, b $6, $7, $8}' 

它将打印出来:

 *Checking Partition Permission* Hostname=<name> LastChecked=<date> 
 Username=<account> DateModified=<date>

注意&#34;用户名= DateModified =&#34;这是一个单独的问题。我需要它出现在同一行,但我无法弄清楚如何做到这一点。我相信需要做的是让awk打印出所有内容,而不是运行&#34; Hostname = $(hostname)LastChecked = $(date)&#34;在一开始,但我怎么得到打印出来的信息? 我见过一些论坛,人们说你可以这样做:

 awk -v MYHOST=$(hostname) '{print MYHOST " " $4}'

然而,如果你把'#34; MYHOST&#34;要打印的变量。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

你的echo语句在它之后发出换行符。使用-n来取消换行符。

echo -n *Checking Partition Permission* Hostname=$(hostname) LastChecked=$(date)