xxARCRPT_ES_US.rtf
割り当てるファイル名から文字列を抽出したいです。
lobcode=XXARCRPT ,LANG=es, TERITORY=US
注:.kshファイルに実装する必要がありました。
例えば、
file name: xxARCRPT_ES_US.rtf
----------> lobcode=XXARCRPT (must be in upper case)
----------> LANG=es (must be in lower case)
----------> TERITORY=US (must be in upper case)
誰もが文字列を3つの変数に分割するのに役立ちますか?
ありがとう
、アラン
ベストアンサー1
filename=xxARCRPT_ES_US.rtf
これにより、最初の下線の後のすべての項目が削除され、に保存され、lobcode
大文字で表示されますtr
。
lobcode=${filename%%_*}
lobcode=$(printf '%s' "$lobcode" | tr '[a-z]' '[A-Z]')
これにより、最初のアンダースコアの後の内容として中間一時変数が設定されます。
rest=${filename#*_}
変数に言語プレフィックス(最初の下線の前のすべての項目)を割り当て、language
小文字に変換します。
language=${rest%%_*}
language=$(printf '%s' "$language" | tr '[A-Z]' '[a-z]')
これにより、最初の下線の前の前のテキストが削除され、最初のピリオド以降のすべての内容が削除され、割り当てられます。それ変数に追加territory
し、大文字として使用します。
rest=${rest#*_}
territory=${rest%%.*}
territory=$(printf '%s' "$territory" | tr '[a-z]' '[A-Z]')
...その後、一時変数をクリーンアップします。
unset rest