私は Vim に抵抗しましたが、今は屈服しました。Vim は、大きなファイルをバターを切るナイフのように処理します。
状況: 大きなテキスト ファイルがあり、各行の最初と最後にパイプ文字を入れたいと考えています。
問題: これらの Vim およびその他のバリエーションは機能しませんでした:
:%s/$/|\$|
:%s/\r/|\r|
:%s/$/|\r|
これを修正するのは簡単だと思いますが、Google と Stack を検索しても解決しませんでした。
私は Vim に抵抗しましたが、今は屈服しました。Vim は、大きなファイルをバターを切るナイフのように処理します。
状況: 大きなテキスト ファイルがあり、各行の最初と最後にパイプ文字を入れたいと考えています。
問題: これらの Vim およびその他のバリエーションは機能しませんでした:
:%s/$/|\$|
:%s/\r/|\r|
:%s/$/|\r|
これを修正するのは簡単だと思いますが、Google と Stack を検索しても解決しませんでした。
あなたはほとんどそれを持っていました:
:%s/^\|$/|/g
^\|$
は行頭または行末を意味します。Vim 正規表現では、|
「or」パイプがエスケープされます。/|/g
その後に--replace with |
globalが続きます。
個人的には、「各行をパイプ文字で囲む」という表現力を好みます。
:%s/.*/|&|
これは、私の脳では、 「行頭または行末の存在しない架空の文字を置き換える」よりも直感的です。
^
また、魔法の文字 ( , , $
quotedの数が少ないことにも依存しますが、\|
これらはすべてタイプするのが不器用でエラーが発生しやすいものです。これらのうち、vim の「魔法の設定」に依存しますか?))。|
$
\_$
上記はそれらのどれにも悩まされていません。