
sed を使用してパターン マッチングを使用する方法を理解するのに苦労しています。
dd.mm.yyyy
大きなファイル内で、次の日付形式をから に置き換えたいので、dd/mm/yyyy
基本的にドットをスラッシュに置き換えます。ファイルには、指定された形式の日付が複数回含まれていますが、文末のピリオドなどを変更してはなりません。
sed 's/\./\//g' <file_name>
目的は達成されますが、すべての (.) が変更されるため、パターン マッチを実行する何らかの方法が必要です。
ご協力いただければ幸いです。
ありがとう
答え1
これは役に立ちます:
sed 's/\([0-9][0-9]\)\.\([0-9][0-9]\)\.\([0-9]\{4\}\)/\1\/\2\/\3/g' file
説明:
s/ # substitute
\([0-9][0-9]\) # group 1, 2 digits
\. # a dot
\([0-9][0-9]\) # group 2, 2 digits
\. # a dot
\([0-9]\{4\}\) # group 3, 4 digits
/
\1 # content of group 1
\/ # a slash
\2 # content of group 2
\/ # a slash
\3 # content of group 3
/g # global flag