ファイル内のスラッシュ "/"を置き換える

ファイル内のスラッシュ

私はviエディタを使用していますが、ファイルにこのようなデータがあります。

05/08/2017,U,01,116326001 
05/08/2017,U,01,116226001 
05/08/2017,U,01,116726323 
05/08/2017,U,01,116236001

日付(最初の列)を変更したいです。

例:05/08/201704/03/2017

よろしくお願いします。

ベストアンサー1

Vi(またはVim)の内部:

:%s#^05/08/2017#04/03/2017#

Esc挿入モードを終了するには、まずを押す必要があります。

の場合と同様に、sedこのコマンドを使用してを置き換えると、パターン区切り文字ですべての文字を選択できますs。ここで私が選んだのはです#

。そのため、パターンは^05/08/2017行の先頭で一致します^。これにより、行の他の場所と誤って一致するのを防ぐことができます。

一般的な/パターン区切り記号を使用すると、傾いたつまようじ症候群":

:%s/^05\/08\/2017/04\/03\/2017/

%置換コマンドは、先頭に「範囲」(「最初の行から最後の行まで」と%同じ1,$)を使用するため、現在のViバッファのすべての行で実行されます。

おすすめ記事