DB にインポートするために設定しようとしているテキスト ファイルがあります。行の特定の位置の後の各行のすべてを削除する必要があります。また、各行の複数の固定位置にカンマを挿入する必要があります。最終目標は、DB にインポートする csv ファイルです。
位置による削除を挿入するための正規表現またはVIMコマンドがあると思いますが、私は両方に非常に慣れておらず、私の検索では良い答えが得られませんでした。
Vim には、列 23 で一致する特別な正規表現アトムがあります。\%23c
その前後で一致することもできます。 を参照してください:help /\%c
。:substitute
115 番目の位置以降のすべての文字を削除します。
:%s/\%>115c.*//
10、20、30 の位置にコンマを挿入します。
:%s/\%10c\|\%20c\|\%30c/,/g
これは、一致自体がゼロ幅であるため機能します。つまり、その位置の文字を消費しません。そのためには、 のようなものを追加する必要があります.
。
\%c
アトムは文字 (正確にはバイト数) で機能することに注意してください。マルチバイト文字や全角文字、タブなどを適切に処理するには、画面幅に基づいたほうがよいでしょう:\%v
はアトムです。