私はsedを使用してテキストをキャプチャし、外部コマンドを実行し、キャプチャグループの値を画面とファイルに出力しています。
これは私が必要とするコマンドの例です:
echo testme | sed -r 's/([a-z]{4}).*/'"$(echo "\1" | tee out.txt)"'/g'
つまり、キャプチャ グループ ( \1 ) の値 ( test ) をファイルに出力する必要があります。
しかし、画面上では正しいテキストが表示されます:
test
ファイルに次のように表示されます。
\1
キャプチャ グループの表記は、画面ではなくファイルに出力する場合、値が展開されないようです。
私が間違っていることと、キャプチャグループの値をファイルに出力する方法を教えてください。
可能であればお願いします - grep/awk による解決策はありません。sed(またはおそらくssed)を使用してそれを行う必要があります。
ありがとう!