これが簡単なことであることを願っています。私はREG_EXTRACT
Informaticaを使用して変数からファイル名を抽出しています。正規表現を使用して抽出するコンテンツを識別します。ここに私の例があります。 powercenterに入ったときのファイル名とファイルパスです。
FILENAME=/test_files/infa_test/nippy/SrcFiles/JUNK/JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csv
REG_EXTRACT($FILENAME,'^\/(.+\/)*(.+)$',2).
結果JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csv
JUNK /の後に、 "JUNK_OPS"など、_SPINKの前のfile_nameのみを抽出する正規表現パラメータを作成するのに問題があります。アンダースコアはファイルごとに異なりますが、「_SPINK」は常に抽出する必要がある項目の後に表示されます。どんな助けでもいいでしょう。
答え1
たぶん、次のようなものがあります。
^.*\/(.*)_SPINK.*$
残念ながら、Informaticaにアクセスしてテストすることはできませんが、sed
次のことに同意します。
echo '/test_files/infa_test/nippy/SrcFiles/JUNK/JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csv' |
sed -E 's/^.*\/(.*)_SPINK.*$/\1/'
それからJUNK_OPS
。
REG_EXTRACT
動作方法によっては、次のように短縮できます。
\/([^/]*)_SPINK