我有相当大的文件,我需要替换其中的文件,NX
但N1
前提是该行已经包含NX
作为模式。到目前为止,我通过首先搜索NX
with 的出现来手动执行此操作:
/NX
然后使用
'<,'>s/N1/NX
但这些文件确实又大又长,我在这个手动过程中犯错误的可能性非常高。有没有办法在 Vim 中更有效地做到这一点?
以下是某个文件中某行的示例:
S22Tg K1B12N1Tg D1AE22K5 K2B12N1Tg D1AE22K6 W01B12N1Tg D1AE22TDNXW01 W02B12N1Tg D1AE22TDNXW02 W03B12N1Tg
请注意,这些行都非常相似,仅在字母后面出现的数字方面有所不同。
答案1
答案2
您不一定需要在 vim 中打开文件才能执行此操作。您可以在命令行上执行此操作
sed '/NX/s/N1/NX/g' <filename> >> <newfilename>
,然后将其重命名<newfilename>
为原始文件。