![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 文字列から最初と最後の文字/コードを引っ張り。 | LinuxRacr | シェルプログラミングとスクリプティング | 3 | 2008年6月16日 10:08午後 |
| UNIXからLinuxへのスクリプトを引く | pjconfig | UNIXのダミー質問と回答のため | 3 | 2005年12月21日 06:10午後 |
| kshでのファイルから列を引く | dangral | シェルプログラミングとスクリプティング | 8 | 2003年1月13日 04:10午後 |
| ファイルからの次の行を引く | peter.herlihy | UNIXのダミー質問と回答のため | 4 | 2002年8月29日 10:09午後 |
| ファイルからのフィールドを抜く | サス | UNIXの詳細&エキスパートのためのユーザー | 2 | 2001年9月30日 04:31午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
Mapfileから引っ張り正しい値
こんにちはすべて、 私はMapfileから1つの値を引くが、午前試み、その結果は、私はすべての値を取得午前です。我々のネットワーク監視サーバのホスト名には、バックアップサーバからのMapfileマップは、ホスト名は、ここに表示: Mapfile コード:
cat zabbixhosts Helpdesk-fd:Server_Helpdesk Knowledge-fd:Server_Knowledge BaculaServer-fd:Server_Bacula Zabbix-fd:Server_Zabbix_1.4.2 が失敗しているスクリプトのセクションはここです: コード:
client=$(tail -n 38 /var/lib/bacula/log | grep -m 1 -F "Client" | awk -F" " '{ print $2; }')
echo Client is $client
echo
# get hostname from the Hostsfile
ZABBIX_HOST=`grep "[$client]" $ZABBIX_HOSTSFILE`
if [ $? -eq 0 ]; then
hostname=`echo "$ZABBIX_HOST" | cut -f2 -d:`
else
hostname=""
fi
echo Hostname is $hostname
私は、スクリプトを実行するときの出力は以下の通り: コード:
./bacula2zabbix.sh Client is "BaculaServer-fd" Hostname is Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2 任意のアドバイスも大歓迎だろう。 ありがとう。 編集MrKenで最終; 2009年7月3日に 03:16午前..理由:バートカット、ペーストÑ |
|
||||
|
あなたのホストのファイル名の初期化になりましたか?
私は、同じコードsnippet.The結果試行される
クライアント" BaculaServer - fd " ホスト名ですServer_Bacula マップのZABBIX_HOSTSFILE \u003d "パスファイル" 私は2つの変更: 1.Initialized ZABBIX_HOSTSFILEファイル名をマップするには 2.Removed [ ] はgrep "[$クライアント]" $ ZABBIX_HOSTSFILE はgrep " $クライアント" $ ZABBIX_HOSTSFILE |
|
||||
|
コード:
hostname=`grep $client zabbixhosts | cut -f2 -d:` 私が試したところ、 Linuxマシンでのシナリオをシミュレートします。あなたのクライアント変数が含まれて<BaculaServer-fdと仮定すると> 。 成功している場合はgrepと失敗した場合にはない値を含む上記のコードから、変数Server_Baculaホスト名を含んでいます。このような何か.... コード:
$ cat zabbixhosts Helpdesk-fd:Server_Helpdesk Knowledge-fd:Server_Knowledge BaculaServer-fd:Server_Bacula Zabbix-fd:Server_Zabbix_1.4.2 $ echo $client sai $ hostname=`grep $client zabbixhosts | cut -f2 -d:` ; echo $hostname $ client="BaculaServer-fd" $ hostname=`grep $client zabbixhosts | cut -f2 -d:` ; echo $hostname Server_Bacula $ hostname=`grep -w $client zabbixhosts | cut -f2 -d:`; echo $hostname Server_Bacula |
|
||||
|
reddybs 、ご返信いただきありがとうございます。 もし私"を変える[ $クライアント] " $ 〜クライアント、その後私はホスト名を出力する。 使用する場合はgrepワットとし、私はホスト名を出力する。 そこで今、私は、まだ出力が間違っていますしています。 コード:
echo Client is $client echo # get hostname from the Hostsfile hostname=`grep "[$client]" $ZABBIX_HOSTSFILE | cut -f2 -d:` ; echo $hostname と出力: コード:
Client is "BaculaServer-fd" Server_Helpdesk Server_Knowledge Server_Bacula Server_Zabbix_1.4.2 これ以上のアイデアですか? |