このファイルには以下が含まれます。
dateutkfilename25012009
16~17文字の位置を18~19文字に変更したいと思います。次に、16番目の文字の位置を19番目の文字に変更し、20番目の文字の位置を23番目の文字に変更します。それでは、次のようになります。
dateutkfilename20090125
以下のコードを使用して、16番目の文字を17番目の文字に変更し、18番目の文字を19番目の文字に変更しようとしましたが、なぜ機能しないのかわかりません。
'/dateutkfilename/s/\(.\{16\}\)\([0-9]\{2\}\)\(.*\)/\(.\{18\}\)\([0-9]\{2\}\)\(.*\)/g'
ベストアンサー1
あなたの質問に対する答えは次のとおりです。
s/^\(.\{15\}\)\(.\{2\}\)\(.\{2\}\)\(.\{4}\)/\1\4\3\2/
ただし、最後まで固定できれば、状況が簡単になります。
s/\(.\{2\}\)\(.\{2\}\)\(.\{4\}\)$/\3\2\1/
個人的に私も[0-9]
同じことをします.
。
s/\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{4\}\)$/\3\2\1/
いつものようにこれを行う方法はいくつかあります。