首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在vi中匹配包含一组字符串的任何排列的行

在 Vim 中匹配包含一组字符串的任何排列的行,您可以使用正则表达式。在 Vim 中,您可以使用以下步骤来匹配包含一组字符串的任何排列的行:

  1. 打开 Vim 编辑器并输入以下命令::g/pattern/d其中,pattern 是要匹配的字符串或正则表达式。 2. 如果您想匹配包含多个字符串的任意排列,请使用正则表达式。例如,要匹配包含两个任意字符串的任何行,请使用以下命令::g/.*\(.\*|.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\*.\
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在VimVi中删除行、多行、范围、所有行及包含模式的行

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷的命令可以删除多行、范围。 删除行 在Vim中删除一行的命令是dd。...删除行范围 删除一系列行的语法如下: :[start],[end]d 例如,要删除从3到5的行,您可以执行以下操作: 1、按Esc键进入正常模式。 2、输入:3,5d,然后按Enter键以删除行。...删除包含模式的行 基于特定模式删除多行的语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含的行。 要匹配与模式不匹配的行,请在模式之前添加感叹号(!): :g!...//d 模式可以是文字匹配或正则表达式,以下是一些示例: :g/foo/d-删除所有包含字符串“foo”的行,它还会删除“foo”嵌入较大字词(例如“football”)的行。 :g!.../foo/d-删除所有不包含字符串“foo”的行。 :g/^#/d-从Bash脚本中删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白行,模式^$匹配所有空行。

107.8K32
  • 后缀数组(suffix array)在字符串匹配中的应用

    前言 首先抛出一个问题: 给定300w字符串A, 之后给定80w字符串B, 需要求出 B中的每一个字符串, 是否是A中某一个字符串的子串. 也就是拿到80w个bool值....让我们来认识几个概念: 子串   字符串S的子串r[i..j],i中从i到j-1这一段,就是顺次排列r[i],r[i+1],…,r[j-1]形成的子串。...名次数组(rank[i]存放suffix(i)的优先级) 名次数组 Rank[i] 保存的是 Suffix(i) 在所有后缀中从小到大排列的“名次” 看完上面几个概念是不是有点慌?...我们的目的是, 找ear是否是A中四个字符串中的某一个的子串. 求出一个TRUE/FALSE. 那么我们首先求出A中所有的字符串德所有子串.放到一个数组里....需要强调的是, 这个”题目”是我在工作中真实碰到的, 使用暴力解法尝试之后, 由于效率太低, 在大佬指点下使用了SA. 30s解决问题.

    6.7K20

    vi编辑器参数

    工作模式 普通模式  由Shell进入vi编辑器时,首先进入普通模式。在普通模式下,从键盘输入任何字符都被当作命令来解释。...尽管普通模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式。   注意:有些教程中称有两种工作模式,是把命令模式合并到普通模式。...粘贴复制 vi 中的复制粘贴命令: 命令 描述 yy 复制当前行 nyy 复制n行 yw 复制一个字(单词) nyw 复制n行 p 将复制的文本粘贴到光标后面 P 将复制的文本粘贴到光标前面 高级命令...这时,输入 n 命令可以按相同的方向继续查找,输入 N 命令可以按相反的方向继续查找。 搜索的字符串中可以包含一些有特殊含义的字符,如果希望搜索这些字符本身,需要在前面加反斜杠()。...匹配一个字符 * 匹配0个或多个字符 $ 匹配一行的结尾 [ ] 匹配一组字符 如果希望搜索某行中的单个字符,可以使用 f 或 F 命令,f 向上搜索,F 向下搜索,并且会把光标定位到匹配的字符。

    92840

    知识分享之Golang——用于在Golang中的加解密工具类,包含MD5、RSA超长字符串、CBC、ECB等算法

    知识分享之Golang——用于在Golang中的加解密工具类,包含MD5、RSA超长字符串、CBC、ECB等算法 背景 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,...知识分享系列目前包含Java、Golang、Linux、Docker等等。...开发环境 系统:windows10 语言:Golang 组件库:Bleve golang版本:1.18 内容 本节我们分享一个用于在Golang中的加解密工具类,包含MD5、RSA超长字符串、CBC、ECB...= nil { panic(err) } //保存私钥 //通过x509标准将得到的ras私钥序列化为ASN.1 的 DER编码字符串 X509PrivateKey...return nil, err } //返回明文 return plainText, nil } // Md5Crypt 加盐MD5加密 //@params str 需要加密的字符串

    1K30

    Linux命令篇(二):文档编辑部分

    -v:反向查找,只打印不匹配的行。 -n:显示匹配行的行号。 -r:递归查找子目录中的文件。 -l:只打印匹配的文件名。 -c:只打印匹配的行数。...举例说明 在文件 testfile.txt 中查找字符串 “linux”,并打印匹配的行 grep linux testfile.txt 在标准输入中查找字符串 “linux”,并只打印匹配的行数 echo...| grep -c linux 在当前目录中,查找后缀有info字样的文件中包含 linux字符串的文件,并打印出该字符串的行 grep linux *info 以递归的方式在/home/sk/test...后面通常不接任何东东 i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行) p :打印,亦即将某个选择的数据印出。...nl test.txt | sed -n '/script/p' 2 java script 6 shell script 在test.txt文件中找到 script 对应的行,执行后面花括号中的一组命令

    12510

    Vim高手修炼手册:Linux下最全常用命令集锦,Linux环境下vim不可不知的常用命令大全

    vi编辑器和vim编辑器 Linux中的vi和vim都是文本编辑器,它们在Linux和Unix系统中广泛使用。尽管它们在某些方面相似,但也存在一些关键的区别。...vi和vim编辑器的区别 撤销功能:在vi中,按u只能撤销上一次的命令;而在vim中,可以无限制地撤销之前的命令。...mode) 在Linux中,vim编辑器的命令行模式(也称为Ex模式或底行模式)是用户输入命令来执行各种编辑任务的模式。... 从当前位置向上搜索指定的搜索词 :n 跳转到下一个搜索结果 :N 跳转到上一个搜索结果 :%s/字符串>/字符串>/g 在整个文件中替换所有匹配的字符串>为字符串> :s/字符串>/字符串>/g 在当前行中替换所有匹配的字符串>为字符串> :range s/字符串>/字符串>/g 在指定范围内替换匹配的字符串>为字符串>,例如:1,10s/old

    13400

    Linux命令

    文本搜索:grep Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。...例如: grep 'a' 1.txt 常用选项说明: 选项 含义 -v 显示不包含匹配文本的所有行(相当于求反) -n 显示匹配行及行号 -i 忽略大小写 grep搜索内容串可以是正则表达式。...vim模式 命令行模式 任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。...在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。...在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式 末行模式也称ex转义模式。

    3.4K20

    正则表达式匹配 - 题解

    如果VVV 是一组字符串,则 V∗V∗V^{*}被定义为包含空字符串ϵϵ{\epsilon}的VVV 的最小超集,并在字符串连接操作下闭合。...如果VVV 是一组符号或字符,则 V∗V∗V^{*}是VVV 中符号上所有字符串的集合,包括空字符串ϵϵ{\epsilon}。...所以在 VVV上的 Kleene 星号运算的定义是 V∗=⋃+∞i=0Vi={ε}∪V∪V2∪V3∪…V∗=⋃i=0+∞Vi={ε}∪V∪V2∪V3∪…{ V^{*}=\bigcup _{i=0}^{+...,则VVV被定义为包含ϵϵ{\epsilon}(空字符串)并闭合于这个运算下的 V 的最小超集。...然后,我们可以忽略模式pattern的这一部分,或删除text中的匹配字符。 如果在任何这些操作之后我们在剩余的字符串上能匹配上,则初始输入是匹配的。

    2K30

    Linux学习笔记(Ubuntu操作系统)之hadoop学习之路

    ,命令行模式(esc),编辑模式(a,i,o,s),尾行模式(esc :)) 8:vi编辑器中在命令模式中复制一行命令:yy 9:vi编辑器中在命令模式中粘贴一行命令:p 10:vi编辑器中在命令模式中剪切一行命令...-exec rm  -rf  {} \ 对搜索结果执行删除操作; ---->字符串搜索命令grep   (1)grep [选项] 字符串 文件名 ,在文件当中匹配符合条件的字符串,例如grep -v...(1)find命令,在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配;   (2)grep命令,在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配...匹配一个任意字符;   (2)*匹配0个或者任意多个任意字符,也就是可以匹配任何内容;   (3)[]匹配括号中任意一个字符,例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c;   ..."调用变量的值","引用命令"和“转义符”的特殊含义;   (3)#在shell脚本中,#开头的行代表注释;   (4)$用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值

    1.4K70

    Linux|Grep 命令的 12 个实用示例

    -v 选项告诉 grep 反转其输出,这意味着不打印匹配的行,而是执行相反的操作并打印所有与表达式不匹配的行,在本例中为 # 注释行。 请注意,我们还使用了 grep .最后以隐藏所有空行的输出。...i 以过滤并打印名称为“JayZ”的所有文件,然后将另一个管道传输到 grep –vi 进行过滤out 并且不会打印带有字符串(在任何情况下)“remix”的所有文件名。...显示搜索字符串之前或之后的行数 另外两个选项是 -A 和 -B 开关,它们显示匹配的行以及搜索字符串之前或之后的多行。...打印匹配周围的行数 grep 的 -C 选项类似,但它不是打印字符串之前或之后的行,而是打印任一方向的行: ifconfig | grep -C 2 lo TX errors 0 dropped...搜索整个模式 将 -w 选项传递给 grep 会搜索字符串中的整个模式。例如,使用: ifconfig | grep -w "RUNNING" 将打印出包含引号中的模式的行。

    34310

    Linux之sed命令详解

    Linux之sed命令 上次的文章中提到了Linux sed在脚本中的应用,他可以将一系列日表操作,根据日期的不同,逐一写进一个文件中,最终生成我们想要的结果,今天详细介绍一下Linux中的sed...4.数据搜寻处理 搜索 testfile.txt中包含有关键字‘4’的行 nl testfile.txt | sed -n '/4/p'或者sed -n '/4/p' testfile.txt ?...数据的搜寻并执行命令,搜索testfile.txt,找到关键字‘4’对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把4替换为four,再输出这行: ?...' ,这里使用反斜线\屏蔽特殊含义 6.其他的一些应用 删除匹配行 sed -i '/匹配字符串/d' filename (注:若匹配字符串是变量,则需要“”,而不是‘’。...记得好像是) 替换匹配行中的某个字符串 sed -i '/匹配字符串/s/旧字符串/新字符串/g' filename

    3.2K10

    Linux 常用命令 vim常用命令 速查

    grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。 格式 `grep [options]` 主要参数 [options]主要参数: -c:只输出匹配行的计数。...-l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。...pattern正则表达式主要参数: /:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 /匹配正则表达式的行开始。...这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。...Linux test 使用sed命令后,输出结果如下: >$ sed -e 4a\newline testfile #使用sed 在第四行后添加新字符串 HELLO LINUX!

    3.7K31

    Linux系统VIM编辑器管理

    编辑模式: 在输入模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的,要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式,注意,通常在 Linux...』三个中的任何一个按钮,就可以将光标移动到最底下那一行,在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 VI/VIM、显示行号等等的动作则是在此模式中达成的....(不包含光标) d$ 删除当前光标处到行尾的所有字符(包含光标) 复制 yy 复制当前行整行的内容到剪贴板 #yy 复制从光标处开始的#行内容 粘贴 p 将缓冲区中的内容粘贴到光标位置处之后(下一行...word 从下而上在文件中查找字符串“word” n n 定位下一个匹配的被查找字符串 N N 定位上一个匹配的被查找字符串 u u 按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作 U...』三个中的任何一个按钮,就可以将光标移动到最底下那一行,在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 VI/VIM、显示行号等等的动作则是在此模式中达成的.

    1.4K20

    一天一个 Linux 命令(1):vim 命令

    标签在标签文件中查找,与标签关联的文件成为当前文件并执行关联的命令。主要用于 C 程序,在这种情况下 TAG 可以是函数名,其结果是包含该函数的文件成为当前文件,并且光标位于函数的开头。...三、选项说明 +NUM 打开文件时光标跳转到由 NUM 指定的行首 +/PAT 打开文件时光标跳转到匹配的模式字符串 PAT +, -c CMD 在完成对第一个文件的读取后,执行给出的指令 -b...在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,键入 ESC 键即可。...如果想在每一行执行相同的命令,在 vim 里可以用 :g 实现。一般的语法是: :g/pattern/cmd 它表示在匹配 /pattern/ 这个正则表达式的行上执行 cmd 命令(也称冒号命令)。...而 /^/ 这个表达式,用于匹配行首。因为任何一行都有行首,你的要求就很容易实现了: :g/^/norm 3o norm这个命令的意思是,把后面的参数看成是在普通模式下的按键,即命令模式下的按键。

    85210

    Elastic Stack日志收集系统笔记 (logstash部分)

    ~(是否使用正则匹配) 包含:in,not in (是否包含) 支持的布尔运算符 and,or,nand,xor 支持的一元运算符 !...全局模式支持 只要允许glob模式,Logstash就支持以下模式: * 匹配任何文件。您还可以使用a *来限制glob中的其他值。例如,*conf匹配所有结尾的文件conf。...*apache*匹配apache名称中的任何文件。 ** 递归匹配目录。 ? 匹配任何一个角色。 [set] 匹配集合中的任何一个字符。例如,[a-z]。还支持排除集合中的任意字符([^a-z])。...what 这是必须的设置,值可以是任何的:previous,next 如果模式匹配,事件是否属于下一个或上一个事件,previous 值指定行匹配pattern选项的内容是上一行的一部分。...next 指定行匹配pattern选项的内容是下一行的一部分。

    3.2K40
    领券