4.13.17 テキストファイルの文字列抽出
機能
この部品は,WindowsまたはUNIXの実行対象サーバにおいて,指定したテキストファイルの指定した1行を出力プロパティに設定します。テキストから抽出した1行の長さが1024バイトを超える場合,1025バイト以降の文字列は切り捨てられます。
該当する行が存在しない場合(例えば,20行しか書かれていないテキストファイルに対して21行目を指定する),出力プロパティには空文字が設定されます。
この部品では,次のサーバを前提とします。
・実行対象サーバ
この部品を実行する対象となるサーバです。
この部品内のスクリプトでは次に示す処理を行います。
・対象ファイルのパス(common.targetFilePathプロパティ)に指定したファイルのパス確認を行います。
・次のコマンドを実行します。
-Windows
New-Object System.IO.StreamReader("対象ファイルのパス(common.targetFilePathプロパティ)", [System.Text.Encoding]::Default)
上記コマンドで取得したStreamReaderオブジェクトのreadLineメソッドを用いて行番号(common.lineNumプロパティ)に指定した1行の文字列を取得します。
StreamReaderクラスのreadLineメソッドの詳細については,Microsoftのライブラリ内で記載している箇所を参照してください。
-UNIX
head -n 行番号(common.lineNumプロパティ) "対象ファイルのパス(common.targetFilePathプロパティ)" | tail -n 1
head,tailコマンドの詳細については,OSのmanコマンドで取得できるコマンド情報を参照してください。
利用場面
テキストファイルの一部を出力プロパティに設定し,別部品の入力プロパティとして利用する場合に使用します。
前提条件
【システム内前提製品】/【実行対象サーバ内前提製品】/【実行対象サーバ内前提製品の稼働OS】の最新のサポート状況については,リリースノートを参照してください。
【システム内前提製品】
JP1/Automatic Operation 11-00以降
【実行対象サーバ内前提製品】
なし。
【実行対象サーバの稼働OS】
(1) Windows Server 2008 R2 Standard/Enterprise/Datacenter
(2) Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter
(3) Windows Server 2016 Standard/Datacenter
(4) Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64)
(5) Red Hat Enterprise Linux Server 7 (64-bit x86_64)
(6) CentOS 6 (64-bit x86_64)
(7) CentOS 7 (64-bit x86_64)
【実行対象サーバの使用条件】
なし。
注意事項
(1) 部品のプロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。
(2) 対象ファイルのパス(common.targetFilePathプロパティ)にワイルドカードによる指定はできません。
(3) エージェントレス接続先に定義された接続ユーザーに,指定したファイルに対する読み取り許可が必要です。
バージョン
02.00.00
部品のタグ
Gather OS information,Windows,Linux
タスクログに表示される部品の名称
osFileOutputProperty
戻り値
戻り値 |
説明 |
---|---|
0 |
正常 |
12 |
異常(ユーザーミス) プロパティ不正 |
27 |
異常(エラー内容はタスクログで確認) |
41 |
異常(部品内でエラーを検知) プロパティ未入力(部品スクリプトでエラーを検知) |
プロパティ一覧
プロパティ一覧を次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
plugin.destinationHost |
実行対象サーバのホスト名 |
この部品を実行するサーバのホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。 |
− |
入力 |
○ |
common.targetFilePath |
対象ファイルのパス |
対象ファイルをフルパスで指定します。 |
− |
入力 |
○ |
common.lineNum |
行番号 |
文字列を抽出する行を指定します。 |
− |
入力 |
○ |
common.stdOutValue |
抽出した文字列 |
ファイルから抽出した文字列が格納されます。 |
− |
出力 |
△ |
common.returnValue |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |