2
perl -pi.back -e 's/2013/07/31-05:54:14/2014/07/31-00:00:00/g;' /tmp/ranjan/replace.SEL

上記のライナーを使用して、日付を から に置き換えてい2013/07/31-05:54:14ます2014/07/31-00:00:00。しかし、私はそれを行うことができません。上記の形式の数値ではなく、文字列の置換のみを見つけることができます。私を助けてください。

4

3 に答える 3

11

別の区切り文字を使用します:

s{find}{replace}g;

また

s#find#replace#g;

それ以外の場合は、すべてをエスケープする必要があり/ます。

于 2013-07-29T14:55:47.777 に答える
4

Perl は、日付のスラッシュは実際には置換ステートメントの一部であると考えているs///gため、日付のスラッシュをエスケープするか、置換に別の区切り文字を使用できます。

perl -pi.back -e 's/2013\/07\/31-05:54:14/2014\/07\/31-00:00:00/g;'

またはより読みやすい:

perl -pi.back -e 's#2013/07/31-05:54:14#2014/07/31-00:00:00#g;' 
于 2013-07-29T14:55:53.720 に答える
3

区切り文字を変更するか、正規表現文字列を適切にエスケープする必要があります。

ディルメーターは、印刷できないものであれば何でもかまいません。

このような:

s!2013/07/31-05:54:14!2014/07/31-00:00:00!g;
于 2013-07-29T14:56:56.673 に答える