4

数字を含む 14 文字の行があります。特定の場所、つまり4番目に文字を挿入するにはどうすればよいですか? したがって、次のような文字列がある場合: xxxxxxxxxxxxxx を次のようなものに変更するにはどうすればよいですか: xxxx-xx-xxxxxxxx ? (x = 桁)

ありがとう!イレック

4

2 に答える 2

6

行に数字のみが含まれている場合は、最初の 4 文字をグループにまとめることができます。

\(....\)

別のグループの次の 2 つ:

\(....\)\(..\)

\1次に、最初のグループへの後方参照 ( )、ダッシュ、2 番目のグループへの後方参照 ( \2)、および別のダッシュに置き換えるだけです。

\1-\2-

結果:

$ echo 12345678900000 | sed 's/\(....\)\(..\)/\1-\2-/'
1234-56-78900000
于 2011-08-02T16:02:50.100 に答える
2

Brandizzi さんの回答に感謝します

sed 's/^\(.\{4\}\)\(.\{2\}\)/\1-\2-/' 

4 と 2 は、4 番目の文字を置き換え、その後 2 番目の文字をダッシュ​​に置き換えます。

したがって、xxx​​xxxxx は xxxx-xx-xx になります。

于 2013-07-09T12:14:56.703 に答える