1

OracleEBSでそれぞれのカテゴリにアップロードする必要のあるRTFファイルが多数あります。そのためには、RTFファイルのドキュメントプロパティに保存されている情報を読み取る必要があります。これらのフィールドは、タイトル、件名、作成者、会社、およびカテゴリです。

メモ帳でRTFファイルを開くと、この情報は表示されますが、Linuxコマンドを使用して抽出する方法がわかりません。grepの使用はあまり成功しませんでした。

この情報を保持するRTFファイルの一部をここに貼り付けています

\mwrapIndent1440\mintLim0\mnaryLim1}{\info**{\title ^XXSLS_GBL_ORDACK^}****{\subject XXSLS}****{\author ^es_ES,es_FR,ES_IT,ES_de^}**{\doccomm $Header: XXSLS_GBL_ORDACK_ES_ES.rtf $}
{\operator }{\creatim\yr2012\mo11\dy11\hr14\min3}{\revtim\yr2013\mo3\dy2\hr10\min43}{\version24}{\edmins361}{\nofpages4}{\nofwords725}{\nofchars14202}{\*\manager }{\*\company }**{\*\category ^BD^}**{\nofcharsws14898}
{\vern32773}}{\*\userprops {\propname _DocHome}\proptype3{\staticval -974575144}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11850\paperh18144\margl851\margr851\margt851\margb0\gutter0\ltrsect

誰かがこの情報を次のように抽出する方法を提案できますか?

Title=^XXSLS_GBL_ORDACK^
Subject=XXSLS
Author=^es_ES,es_FR,ES_IT,ES_de^
Category=^BD^
4

1 に答える 1

0

Grepは、-E(高度な正規表現)フラグと-o(一致する出力のみ)フラグを使用してこれを実行できます。

 title=`grep -oE 'title [^\}]+' file.rtf | sed 's/title //g'`
 echo "title=$title"
 subject=`grep -oE 'subject [^\}]+' file.rtf | sed 's/subject //g'`
 echo "subject=$subject"
 author=`grep -oE 'author [^\}]+' file.rtf | sed 's/author //g'`
 echo "author=$author"
 category=`grep -oE 'category [^\}]+' file.rtf | sed 's/category //g'`
 echo "category=$category"

私は得る

title=^XXSLS_GBL_ORDACK^
subject=XXSLS
author=^es_ES,es_FR,ES_IT,ES_de^
category=^BD^
于 2013-03-04T10:34:41.293 に答える