Rumah > Soal Jawab > teks badan
Penerangan masalah
Fail yang lebih besar perlu diproses dan kandungan sebelum rentetan yang sepadan dalam setiap baris dipadamkan. Format kandungan fail adalah seperti berikut:
aaa dd kk segmentfault=1098-0987-3jlc ok=okj hello=0cvqa
12jk od=kk segmentfault=1jj8-lk87-oplc suiji=che shachu=keng
pppp=dd bbo;=9as segmentfault=0876-oj87-3pac zifu=ka neirong=xia
Dijangkakan kandungan sebelum segmentfault muncul buat kali pertama dalam setiap baris boleh dipadamkan ke permulaan baris Hasil pemprosesan yang dijangkakan adalah seperti berikut
segmentfault=1098-0987-3jlc ok=okj hello=0cvqa
segmentfault=1jj8-lk87-oplc suiji=che shachu=keng
segmentfault=0876-oj87-3pac zifu=ka neirong=xia
Penyelesaian semasa
menggunakan makro untuk melaksanakan
qa ---开启宏录制
/resourceId ---随意操作
d0 ---随意操作,删除至行首
j ---随意操作,跳转到下一行
q ---退出宏
1000000@a ---执行1000000次
Kelemahan: kecekapan rendah, sangat memakan masa
Penyelesaian yang dijangkakan
Nantikan penyuntingan lajur langsung (ctrl + v) untuk memadamkan kedudukan padanan setiap baris dengan permulaan baris.
Bagaimana untuk mencapainya?
曾经蜡笔没有小新2017-05-16 16:36:34
Cuba penggantian biasa dan pengeditan lajur kata kunci anda berada dalam kedudukan yang berbeza dan tidak boleh diedit secara langsung
:%s/^.*segmentfault/segmentfault/g
仅有的幸福2017-05-16 16:36:34
@ixx Ideanya betul, ungkapan biasa
tetapi ada penyelesaian yang lebih mudah
:%s/^.*\zesegmentfault//g
ze
Tandai mod padanan tamat
淡淡烟草味2017-05-16 16:36:34
Saya rasa pengarang soalan ingin menggunakan mod lajur vim (Ctrl-v) dan kemudian pilih berbilang baris untuk memadankan bahagian sebelum segmen perkataan.
Tetapi ia tidak berfungsi, kerana ia tidak boleh dilakukan
1) Dalam mod lajur, pemadanan lebih baik dilakukan pada permulaan atau penghujung baris, membentuk blok padanan tidak teratur;
2) S dari awal baris ke segmen dalam baris pertama ialah 3 W, manakala s dari baris ke-2 dan ke-3 ke segmen ialah 2 W. Ini bukan mudah untuk dilakukan sekaligus. (Atas sebab yang sama, menggantikan W dengan w juga tidak akan berfungsi)
Mod lajur lebih sesuai untuk diproses jika teks disusun dengan kemas atau boleh dengan mudah diletakkan .
==========
Jawapan lain mengatakan bahawa menggunakan ungkapan biasa untuk memadankan dan menggantikan adalah sangat berguna.