题目 给你两个字符串 s 和 part ,请你对 s 反复执行以下操作直到 所有 子字符串 part 都被删除: 找到 s 中 最左边 的子字符串 part ,并将它从 s 中删除。...请你返回从 s 中删除所有 part 子字符串以后得到的剩余字符串。 一个 子字符串 是一个字符串中连续的字符序列。...- s = "dabaabcbc" ,删除下标从 4 开始的 "abc" ,得到 s = "dababc" 。...- s = "dababc" ,删除下标从 3 开始的 "abc" ,得到 s = "dab" 。 此时 s 中不再含有子字符串 "abc" 。...- s = "axxyyb" ,删除下标从 2 开始的 "xy" ,得到 s = "axyb" 。 - s = "axyb" ,删除下标从 1 开始的 "xy" ,得到 s = "ab" 。
const fs = require('fs'); const path = require('path');
显示整个文件: sed -n '1,$'p temp.txt $为最后一行 任意字符: sed -n '/....\s:用于匹配单个空格符,包括tab键和换行符; \S:用于匹配除单个空格符之外的所有字符; \d:用于匹配从0到9的数字; \w:用于匹配字母,数字或下划线字符; \W:用于匹配所有与...:用于匹配除换行符之外的所有字符。 (说明:我们可以把\s和\S以及\w和\W看作互为逆运算) 下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。 ...因此,上述正则表达式将无法与诸如 “abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。 ...例如: /[^A-C]/ 上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。
sed命令 sed是一种几乎包括在所有UNIX 平台(包括 Linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。...格式: [lhh98330@localhost ~]$ sed [选项] ‘[动作]’ 文件名 选项: ①-n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕...添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结。 ②c\:行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结。...插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结。 ④d:删除,删除指定的行。 ⑤p:打印,输出指定的行。 ⑥s:字串替换,用一个字符串替换另外一个字符串。...例1.查看文件的第二行 "-n"与不加"-n"的区别:加"-n"就只输出你想要的内容 ? 例2.删除第二行到第四行的数据,但不修改文件本身 ?
多行时除最后一行外,每行末尾需用"\"续行 i\ 在当前行之前插入文本。...多行时除最后一行外,每行末尾需用"\"续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容 G 把暂存缓冲区的内容追加到模式空间里...对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用 y 命令...不同的是,sed 使用的正则表达式是括在斜杠线"/"之间的模式。 如果要把正则表达式分隔符"/"改为另一个字符,比如 o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个字符即可。...匹配除换行符以外的单个字符 /m..y/ 匹配包含字母 m,后跟两个任意字符,再跟字母 y 的行 * 匹配零个或多个前导字符 /my*/ 匹配包含字母 m,后跟零个或多个 y 字母的行 [] 匹配指定字符组内的任一字符
3.1 sed命令 命令 功能 a\ 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行 c\ 用此符号后的新文本替换当前行中的文本。...多行时除最后一行外,每行末尾需用”\”续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容...对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用...不同的是,sed使用的正则表达式是括在斜杠线”/”之间的模式。 如果要把正则表达式分隔符”/”改为另一个字符,比如o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个字符即可。...匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个任意字符,再跟字母y的行 * 匹配零个或多个前导字符 /my*/ 匹配包含字母m,后跟零个或多个y字母的行 [] 匹配指定字符组内的任一字符
该模式描述在查找文字主体时待匹配的一个或多个字符串。 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。...可以用^标记做[ ]内的前缀,表示除[ ]内的字符之外的字符。比如 搜索 oo前没有 g的字符串的行....相对,但这此参数是显示除符合行之外并显示在它之前的NUM 行。...$grep '[a-z]\{5,\}' aa 显示所有包含每个字符串至少有 5 个连续小写字符的字符串的行。...nl 可以将输出的文件内容自动的加上行号如果只要删除第 2行,可以使用 nl/etc/passwd|sed '2d' 来达成,至于若是要删除第 3到最后一行, 则是 nl/etc/passwd |sed
下面总结一下sed中参数的选择及执行操作: [plain] view plain copy 参数选择: -n:一般sed命令会把所有数据都输出到屏幕,如果加入-n选项的话,则只会把经过...d:删除模式空间的所有行,并读下一行到模式空间。 D:删除模式空间的第一行,不读下一行到模式空间。...不同的是,sed使用的正则表达式是括在斜杠线"/"之间的模式。 如果要把正则表达式分隔符"/"改为另一个字符,比如o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个字符即可。...例如:sed -n '\o^56op' datafile ^:行首定位符 /^my/ 匹配所有以my开头的行; $:行尾定位符 /my$/ 匹配所有以my结尾的行...:匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个任意字符,再跟字母y的行; *:匹配零个或多个前导字符 /test*/ 匹配包含字符串 tes
可以用^标记做[]内的前缀,表示除[]内的字符之外的其他字符(即匹配不在此括号中的任何字符)。比如 搜索oo前没有g的字符串的行....-B NUM,–before-context=NUM 与 -A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。...$ grep ‘[a-z]\{5,\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。...nl 可以将输出的文件内容自动的加上行号 如果只要删除第2行,可以使用nl /etc/passwd | sed ‘2d’ 来达成,至于若是要删除第 3 到最后一行,则是nl /etc/passwd |...每个文件在用sed删除空行之前要先核实是否存在。 sed的输出被导入一个文件名中含有 的临时文件,最后这个临时文件又被移回到原来的文件中。
^ 行首 cat readme.txt | grep '^T' $ 行尾 cat readme.txt | grep ')$' .换行符之外的任意单个字符 cat readme.txt | grep...readme.txt | grep [bB] [^] 排除字符 | 或者 sed:流编辑器,一般用来对文本进行增删改查 -n :禁止显示所有输入内容,只显示经过sed处理的行(常用) -e :直接在命令模式上进行...sed 的动作编辑,接要执行的一个或者多个命令 -f :执行含有 sed 动作的文件 -r :sed 的动作支持的扩展正则(默认基础正则) -i :直接修改读取的文件内容,不输出。...d∶delete,删除某一行或者某几行,也可以指定删除匹配上的行 c∶change,改变指定行的内容 s∶更改或替换字符串,使用格式为 's/pattern/new/flags',把pattern替换成...$0 代表整个文本行; $1 代表文本行中的第1个数据字段; …… $NF 代表文本行中的最后一个数据字段 awk 默认的字段分隔符是任意空白字符(如:空格 or 制表符),也可以用 -F 参数自定义分隔符
多行时除最后一行外,每行末尾需用“\”续行 b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 c 用此符号后的新文本替换当前行中的文本。...多行时除最后一行外,每行末尾需用"\"续行 i 在当前行之前插入文本。...多行时除最后一行外,每行末尾需用"\"续行 d 从模板块(Pattern space)位置删除行 D 删除模板第一行 i 在当前行上面插入文本。...q 结束或退出sed r 从文件中读取输入行 ! 对所选行以外的所有行应用命令 s 用一个字符串替换另一个 如s/re/string,用string替换正则表达式re。...说明 p sed -n 'p' 1.txt 输出1.txt的所有行 2p sed -n '
匹配任意一个字符 [ ] 匹配包含在[字符]之中的任意一个字符,coo[kl]匹配cook或cool [^] 匹配除[^字符]的任意一个字符 [-] 匹配[]中范围内任意一个字符 ?...匹配之前的项一次或0次 + 匹配之前的项一次或多次 * 匹配之前的项0次或多次 () 创建一个用于匹配的子串 {n} 匹配之前的项n次 {n,m} 指定之前的项所必须匹配的最小次数和最大次数 | 交替-...55 55 [root@cai tmp]# grep 3 1.txt 33 也可以对多个文件进行搜索:grep 3 1.txt 2.txt 3.txt 使用正则表达式必须使用egrep (2)要打印除某行之外所有行...root@cai tmp]# seq 10|grep 5 -C 3 2 3 4 5 6 7 8 3.用cut按列切分文本 cut -f 2,3 filename 4.sed (1)sed可以替换给定文本中的字符串...’ file (3)如果想替换所有内容,在结尾加上参数g sed ‘s/pattern/replace_string/g’ file (4)移除空白行 sed ‘ /^$/d’ file (5)直接在文件中进行替换
sed命令功能 命令 功能 a\ 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行 c\ 用此符号后的新文本替换当前行中的文本。...多行时除最后一行外,每行末尾需用"\"续行 i\ 在当前行之前插入文本。...多行时除最后一行外,每行末尾需用"\"续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容...对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用...打印最后一行 sed -n '$p' yum.log ?
EREs PREs 描述 实例 \ \ \ 转义符,将特殊字符进行转义,忽略其特殊意义 a\.b就表示匹配a.b,而a.b则表示匹配除换行符之外的任意单个字符,例:aab,abb ^ ^ ^ 匹配行首...匹配除换行符\n之外的任意单个字符,awk则中可以 a.b则表示匹配除换行符之外的任意单个字符,例:aab,abb [] [] [] 匹配包含在[字符]之中的任意一个字符,可用[a-z],[0-9],[...\.,/] a[ab]匹配aa或ab [^] [^] [^] 匹配[^字符]之外的任意一个字符 [^12]表示不匹配12但可以匹配123,124 [-] [-] [-] 匹配[]中指定范围内的任意一个字符...he\(ll\)匹配包含hell的字符串 不支持 {n} {n} 匹配之前的项n次,n是可以为0的正整数 [0-5]{5}可匹配每位为0-5之间的五位数 不支持 {n,} {n,} 之前的项至少需要匹配...]匹配所有带任意一个可以看得见并可以打印的字符的的行 [:cntrl:] [:cntrl:] [:cntrl:] 匹配任意一个控制字符(ASCII前32个字符) [[:cntrl:]]匹配所有带任意一个控制字符的行
打印jfedu.txt文本中第一行与最后一行: sed -n ‘1p;$p’ jfedu.txt 删除jfedu.txt第一行至第三行、删除匹配行至最后一行: sed ‘1,3d’ jfedu.txtsed...‘/jfedu/,$d’ jfedu.txt 删除jfedu.txt最后6行及删除最后一行: for i in `seq 1 6`;do sed -i ‘$d’ jfedu.txt ;donesed...打印及删除jfedu.txt最后两行: sed ‘$!...匹配除了换行符以外任意一个字符;.* 代表任意字符;^ 匹配行首,即以某个字符开头;$ 匹配行尾,即以某个字符结尾;\(..\) 标记匹配字符;[] 匹配中括号里的任意指定字符,但只匹配一个字符;[^]...匹配除中括号以外的任意一个字符; 常用GREP工具企业演练案列: grep -c “test” jfedu.txt 统计test字符总行数;grep -i “TEST” jfedu.txt 不区分大小写查找
匹配除换行符之外的任意字符 \w 匹配字母,数字,下划线或汉字 \s 匹配任意空白字符 \d 匹配数字 \ 将下一个字符标记为一个特殊字符、或一个原义字符 ^ 匹配输入字符串的开始位置 $ 匹配输入字符串的结束位置...当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。...非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串 [xyz] 字符集合(character class),匹配所包含的任意一个字符 [^xyz] 排除型(negate...如果想支持扩展正则,需要使用 -r 选项 $ 代表最后一行行号 删除 格式与查找相同: sed [options] {sed-commands} {input-file} 例如: # 删除所有行 $sed...'d' source.txt # 只删除第二行 $sed '2d' source.txt # 删除第一到第四行 $sed '1,4d' source.txt # 删除空行 $sed '/^$/
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 3.基于模式匹配从字符串中提取子字符串。 4.查找文档内或输入域内特定的文本。...g global - 全局匹配 查找所有的匹配项 m multi line - 多行匹配 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾 s 特殊字符圆点 ....中包含换行符 \n 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。...匹配除换行符(\n、\r)之外的任何单个字符 一般该元字符不单独用,配合*一起使用 * 前一个字符连续出现0次或多次 zl* 能匹配 "z" 以及 "zll",配合.使用要注意贪婪性 [] 字符集合,匹配所包含的任意一个字符...匹配前一个字符出现0次或1次 "do(es)?" 可以匹配 "do" 或 "does" 。? 等价于 {0,1} 注意:并不是所有的元字符,所有语言都支持。
[ ]:单个字符,如[A]即A符合要求。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。 。:所有的单个字符。 * :有字符,长度可以为0。 .... ...$ grep '[a-z]\{5\}' aa 显示aa文件中所有包含每个字符串有5个连续小写字符的字符串的行。...匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个任意字符,再跟字母y的行 * 匹配零个或多个前导字符 /my*/ 匹配包含字母m,后跟零个或多个y字母的行 [] 匹配指定字符组内的任一字符...实例 删除d命令 $ sed '2d' example 删除example文件的第二行。 $ sed '2,$d' example 删除example文件的第二行到末尾所有行。...$ sed '$d' example 删除example文件的最后一行。 $ sed '/test/'d example 删除example文件所有包含test的行。
[root@xie-02 grep]# grep '[^a-zA-Z]' 1.txt //打印出含有除a-zA-Z之外的字符(也就是一整行都是字符的不会显示) 123 4335 4576 asff564...命令:sed -n:打印出处理后的行 -r:加上-r参数就可以不加脱义字符 -e:可以实现多个行为 -i:可以对文件内容真正的修改,而不止是把处理后的结果显示屏幕上而没真正修改文件内容 -n:打印包含某个字符的行...删除test.txt中5到10行中所有的数字 ? 9. 删除test.txt 中所有特殊字符(除了数字以及大小写字母) ? 10....sed删除某关键字的下一行到最后一行 ?...用sed打印1到100行包含某个字符串的行 sed -n ‘1,100{/abc/p}’ 1.txt awk用print打印特殊字符,在awk中使用脱义字符\是起不到作用的,要使用‘“ ”’组合
#删除文件1-3行 sed -n '5,10p' testfile #打印文件5-10行内容 sed '/Lane/d' testfile #删除包包含...##pattern\{n,m} 匹配模式出现n到m次之间,n , m为0 - 2 5 5中任意整数 sed '/^$/d' testfile #删除所有空行 sed 's/\....$//g' #删除以.结尾行 sed 's/^[][]*//g' #删除行首空格 sed 's//.[][]*/[]/g' #删除句号后跟两个或更多的空格,用一个空格代替...//g' #删除第一个字符 sed 's/COL/(.../)//g' #删除紧跟COL的后三个字符 sed 's/^////g' #删除路径中第一个...p testfile #打印文件(除2-26)的行 03 Awk实例介绍 awk –F : ‘{print $2}’ datafile #以:分隔打印第二列 awk –F : ‘/^Dan/{print
领取专属 10元无门槛券
手把手带您无忧上云