2

複数のテキスト ファイルの文字列パターンを置き換えるシェル スクリプトが必要です。

パターンとは、複数のファイルで次のように発生することを意味します。

CSRF=PG0U-8R3L-KLXT-7UWT-TSRS-IFLY-OI9Y-M75C
CSRF=X67S-3QHA-LNT8-D83N-5BS3-2WA4-7BDP-J1NQ
CSRF=TATJ-3QHA-LNT8-D83N-AGHJ-AGJD-7BDP-JGAJ
CSRF=DHJG-8R3L-AFJH-ASGJ-TSRS-ADGJ-OI9Y-AGHJ

したがって、一般的には CSRF=$$$$-$$$$-$$$$-$$$$-$$$$-$$$$-$$$$$$-$$$$ のように $=任意の英数字

古いテキストを見つけて新しいテキストに置き換える sed コマンドが既にあります。しかし、ここでは、検索して置換する文字列パターンを探しています。

私が持っているコマンドは次のとおりです。

    oldtext="CSRF=$$$$-$$$$-$$$$-$$$$-$$$$-$$$$-$$$$$-$$$$"
    newtext="CSRF Replaced"    
    find -iname '*.txt' | xargs sed -i "s/$oldtext/$newtext/g"  

だから私の質問は...どうすればこのCSRF文字列パターンを検索できますか???

4

2 に答える 2

0
oldtext="CSRF=([a-zA-Z0-9]{4}-){7}[a-zA-Z0-9]{4}"

sed -r次に、 (Linux の場合) またはsed -E(Mac OS X などの BSD の場合)を呼び出して、拡張正規表現を使用してください。

于 2012-11-14T07:35:57.793 に答える
0

何を言っているのかよくわかりません。おそらくこれを探しているのでしょう。

find -iname '*.txt' | xargs sed -i "s/^\(CSRF=\)$oldtext/\1 $newtext/g"
于 2012-11-14T07:31:37.350 に答える