я в настоящее время есть скрипт, который будет запрашивать права собственности на partition.dumodule и иметь его распечатать информацию:Использование AWK для печати
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>
Обратите внимание, что «Имя пользователя = DateModified =» находится в отдельной строке, это проблема. Мне нужно, чтобы все появлялось в одной строке, но я не могу понять, как это сделать. Я считаю, что нужно сделать, чтобы awk распечатывал все, а не запускал «Hostname = $ (имя хоста) LastChecked = $ (дата)» в начале, но как мне получить awk для печати этой информации? Я видел некоторые форумы и люди говорят, что вы можете сделать что-то вроде этого:
awk -v MYHOST=$(hostname) '{print MYHOST " " $4}'
Однако это дает мне ошибку, если поставить «MyHost» переменную для печати. Есть идеи?
Это последнее заявление приведет к ошибке только на старый сломанный awk. Если вы находитесь в Solaris, используйте nawk или/usr/xpg4/bin/awk. Если это не проблема, опубликуйте сообщение об ошибке. –