سؤال

وأنا أحاول القيام البحث والاستبدال في VI لإزالة الطابع الزمني. وعادة ما تفعل ذلك في السادس باستخدام الأمر S ولكن كيف أقول VI أحتاج لإزالة كولون عند جانبها من هيكل الأمر VI نفسها

وEX: "ككككك ككككك 24:00:00 CDT"

وحاول

وs:24:00:00 CDT::g

وs:"24:00:00 CDT"::g

وs:/:::g

وهو محل تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

وعادة، والسادس يستخدم الحرف الذي يلي الحرف الأمر كما المفرق.

وجرب هذا:

s!24:00:00 CDT!!g

نصائح أخرى

والمشكلة هنا ليست مطابقة القولون، ولكن أن كنت قد علمت أن همة يجب استخدام القولون لفصل انها التعابير المنطقية. هذا غير صحيح.

وAWK / السادس / بيرل / روبي (وغيرها الكثير) تمكنك من تحديد محدد wahtever الذي تريده. هذه الشخصية هي واحدة بعد حرف الأمر (في حالتنا لS)، على سبيل المثال:

s/hello/there/
s:hello:there:
s@hello@there@

وكلها نفس التعابير المنطقية، فقط مع المحددات المختلفة. هذا flexability يعني أنه إذا كنت غالبا ما تستخدم /، ولكن تحتاج بعد ذلك لمطابقة / في التعبير المعتاد، ثم يمكنك التبديل فقط لبعض محدد آخر، على سبيل المثال:

sMhel/loMthereM

وعلى الرغم من "M" قد لا يكون أفضل خيار عندما يحتوي التعبير المعتاد النص - أنها تعتمد على أسلوب حياتك وماذا كنت مطابقة حقا

ويمكنك حتى استخدام الأقواس. لالتعابير المنطقية واحد هو:

s[hello]

أو

s(hello)

وأعتقد أن للبحث واستبدال النمط الذي يمكن استخدام s[hello][there] أو ربما حتى s[hello](there). ولكن هذه الجملة الأخيرة حول الأقواس هي نصف تخمين تذكرت عندما كنت من alst بيرل المستخدمة.

في نسختي من السادس، أستطيع أن أفعل ما يلي لإزالة الفواصل من خط. YMMV.

:s/://g

وs/\d\+:\d\+:\d\+ CDT//g يعمل بالنسبة لي:

والمحتوى الأولي:

xxxxx xxxxx 24:00:00 CDT

وبعد الأوامر:

xxxxx xxxxx

وإذا كنت تريد أن تتأكد من أنها سوف تؤثر فقط الطوابع (كما هو، أن التعابير المنطقية فوق تغيير أي رقم من الأرقام> 1)، استخدم

s/\d\d:\d\d:\d\d CDT//g

وحيث ز النهائي يتغير كافة تواجدات نمط، وليس فقط أول واحد.

إذا كان لديك أكثر من توقيت واحد في القائمة، مجموعة منهم:

:s/\d\+:\d\+:\d\+^Y \(CDT\|UDT\)//g

وانها ليست حقا جزءا من الأمر، لأنه يجب أن تتيح لك استخدام أي محدد تريد.

وكنت على الارجح محاولة: -

%s/\d\{2}:\d{2}:\d{2}//g
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top