bashの新機能です。bashスクリプトの文字列からパターンを抽出します。
私はこの問題を解決するために、パラメータの拡張、grep、sed、echoを実験しましたが、それをうまく解決することはできません。
私は、$ PWDから特定のパターンをbashスクリプトで抽出しようとしています。
さんは、フルパスの様々ながあるかもしれないとしましょう:すべてのインスタンスで
/home/files/tmp8
/home/tmp28/essential
/home/tmp2/essential/log
/home/files/tmp10/executables
/tmp8/files/whatever/etc
、Iは1つの以上の整数に続いて「TMP」を含む任意の文字列を抽出したいです。
だから、$ PWDが処理される各インスタンスでは、それは
の説明のために、「tmp8」、「tmp28」など「TMP2」を返しますどのようにこの問題を解決する点で機能/オペレーターの仕事大変に感謝しています。
両方の説明をいただきありがとうございます。これらを使用して、抽出されたパターンを文字列に割り当てたり、別のコマンドで使用することはできますか? –
確かに、 'str = $(grep -o 'tmp [0-9] *' <<<" $ PWD ")'を実行して、抽出されたパターンを変数 'str'に割り当てることができます – anubhava
' grep -o 'tmp [ 0-9] * '<<< "$ PWD"は一致した文字列、つまり完全入力ではない 'tmp'のみを返します。 –
anubhava