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

《Linux与unix Shell编程指南》 总结

1)如果要在当前目录下所有.doc文件中查找字符串“sort” ,方法:$ grep "sort"*.doc 2)从文件内容查找匹配指定字符串的行: grep "被查找的字符串" 文件名 3)从文件内容查找与正则表达式匹配的行...sed '/^$/d;G' # 在每一行后面增加两行空行 sed 'G;G' # 将第一个脚本所产生的所有空行删除(即删除所有偶数行) sed 'n;d' # 在匹配式样“regex”的行之前插入一空行...p;};h' # 查找“regexp”并将匹配行的下一行显示出来,但并不显示匹配行 sed -n '/regexp/{n;p;}' # 显示包含“regexp”的行及其前后行,并在第一行之前加上“regexp...# 删除第一行空行后的所有内容 # 提取新闻组或 e-mail 的正文部分 sed '1,/^$/d' # 删除第一行空行之前的所有内容 # 从邮件头提取“Subject”(标题栏字段...删除第一行空行之前的所有内容 # 从邮件头提取“Subject”(标题栏字段),并移除开头的“Subject:”字样 sed '/^Subject: */!

5.5K30

Linux命令(32)——grep命令

其功能是在指定的文件中查找一个指定格式或者内容的字符串,并将匹配的字符串所在行打印出来。如果不指定任何文件名称,或给定的文件名为“-”,则从标准输入设备读取数据。grep支持正则表达式搜索文本。...-b,--byte-offset:在匹配的行之前,标示出该行第一个字符的位编号,即字符在文本中的字节偏移下标,包括换行符。...-B [行数],--before-context=[行数]:后紧跟数字,为befor之意,显示匹配行以及该行之前指定行数的内容。 -c,--count:只输出匹配的行数,不是匹配字符串的个数。...-e 匹配模式>:设置查找文件内容的匹配模式。 -E,--extended-regexp:使用扩展正则表达式解释匹配模式。...(2)在当前目录下的所有文件中搜索字符串"lvlv",并明确要求搜索子目录中的所有文件。 grep -r "lvlv" . (3)显示所有以d开头的文件中包含test的行。

4.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux命令(32)——grep命令

    其功能是在指定的文件中查找一个指定格式或者内容的字符串,并将匹配的字符串所在行打印出来。如果不指定任何文件名称,或给定的文件名为“-”,则从标准输入设备读取数据。grep支持正则表达式搜索文本。...-b,--byte-offset:在匹配的行之前,标示出该行第一个字符的位编号,即字符在文本中的字节偏移下标,包括换行符。...-B [行数],--before-context=[行数]:后紧跟数字,为befor之意,显示匹配行以及该行之前指定行数的内容。 -c,--count:只输出匹配的行数,不是匹配字符串的个数。...-e 匹配模式>:设置查找文件内容的匹配模式。 -E,--extended-regexp:使用扩展正则表达式解释匹配模式。...(2)在当前目录下的所有文件中搜索字符串”lvlv”,并明确要求搜索子目录中的所有文件。 grep -r "lvlv" ./ (3)显示所有以d开头的文件中包含test的行。

    4.4K30

    JavaScript学习

    内部脚本指可在HTML中直接使用但是必须在之间进行书写,内部脚本可以放在HTML页面中的或标签里面。...比如使用document.write()可直接向HTML输出流写内容; document.ElementById(id地址).innerHTML=“改变的内容”; 如需要改变HTML的某个id的属性可使用...注:其中的替换值可以是字符串也可以是函数,它的符号具有特定含义,如:1-99—与替换对象中的第一个到底99个子表达式相匹配的文本; &—与替换对象相匹配的子串; '—位于匹配字符串右侧的文本; search...()是检索与正则表达式相匹配的值,形式是str.search(/regexp/);其中regexp是需要在字符串中检索的子串,也可以是对象。...它的返回值是字符串值中第一个与regexp相匹配的子串起始位置,若没找到子串则返回-1. slice()提取字符串的片段并在新的字符串中返回被提取的部分,形式是str.slice(start,end);

    1.3K10

    JavaScript正则表达式

    在JavaScript脚本中,利用正则表达式可以很容易的实现文本字符串的检测、替换等功能。 正则表达式是字符串,它定义了一个用来搜索匹配字符串的模式。...定义模式:/表达式/ JavaScript脚本语言中引入正则表达式主要作用: 验证字符串格式 查找字符串 替换文本 创建方式: 1、采用RegExp对象的显式构造函数构造 var...g 表示在全文中查找出现的所有参数 m 多行标志 显示创建正则表达式: var myregx=new RegExp(“abc”); 可以加标志信息,如忽略大小写: var myregx...正则表示对象RegExp对象的方法: exec:检索字符中是正则表示的匹配,返回找到的值,并确定其位置。...在这种模式中,如果要检索的字符串中含有换行符,^ 和 锚除了匹配字符串的开头和结尾外还匹配每行的开头和结尾。例如,模式/W3School 锚除了匹配字符串的开头和结尾外还匹配每行的开头和结尾。

    2.5K50

    详解JavaScript的正则表达式

    --- 1、创建正则表达式 法一 在加载脚本时就会被编译,性能高于法二。如果正则表达式不会改变,推荐使用法一。...方法,查找字符串中的匹配项,返回一个数组(未匹配返回 null) test RegExp方法,测试是否有匹配项,返回true或false match String方法,查找字符串中的匹配项...,返回一个数组(未匹配返回 null) matchAll String方法,查找字符串中所有匹配项,返回一个迭代器(iterator) search String方法,测试是否有匹配项,返回匹配项的位置索引...,失败时返回-1 replace String方法,查找字符串中的匹配项,并用指定字符串替换匹配项 split String方法,用指定字符串分割字符串,返回字符串数组 ---...对象 使用 RegExp 对象,来进行正则表达式匹配。

    80020

    程序员C语言快速上手——进阶篇(六)

    进阶语法 指针与数组 指针的算术运算 数组名与指针 指针与字符串 字符串的进阶 实现简单正则表达式匹配器 指针常量与常量指针 指针常量 常量指针 指向常量的常量指针 进阶语法 指针与数组 1 #include...指针常量不能再指向其他地址 7 8 // 普通指针,可以指向其他地址 9 int *p2 = &n; 10 p2 = &l; 声明指针常量时需要注意,星号是紧挨类型的,在之前的章节已经讲过...当我们对指针常量使用解引用符修改内容时不受影响。...,也有人喜欢使用另一种风格来声明指针常量,将星号与const紧挨 1 int n = 7; 2 int *const p1 = &n; 常量指针 常量指针的意思是说指针所指向的内容是个常量。...既然内容是个常量,那就不能使用解引用符去修改指向的内容。但指针自己本身却是个变量,因此它仍然可以再次指向其他的内容。

    61160

    LinuxShell命令sed

    使用两个单引号时,script 中使用 / 分隔每个字段,字段均为纯字符串,不能使用 Shell 下的变量;使用两个双引号时,script 中使用 | 分隔每个字段,字段中可以使用 Shell 下的变量...# :注释该行 # 后的所有内容。 & :代表替换命令中匹配到的模式。 $ :代表数据流中的最后一行(也可直接用数字指定行,用 x,y 指定第 x 到第 y 行)。...\( regexp \) :定义了替换模式中的子模式(之后可用 \x 来引用第 x 个匹配的子模式)。当 sed 使用了 ERE 引擎后,子模式按照 ERE 中的规范为 ( ),不再需要转义。...r\ file :从 file 文件中读取内容并追加到模式空间匹配到的行后。...【注】flags 可为以下四种(可直接拼接叠加使用): 数字 :指明替换第几处的 regexp g :表明替换所有的 regexp p :表明打印匹配到的模式空间中处理后的内容 w file :将替换后的数据写入

    1.1K30

    shell脚本扩展「建议收藏」

    love 如:与所有love结尾的行匹配 那么‘^$’ 就表示空行 4、[…]匹配括号中的字符之一 [abc] 匹配单个字符a或b或c [123] 匹配单个字符1或2或3 [a-z]...① 表达式中可以使用变量(如字段变量1,2等)和/regexp/ ② 布尔表达式中的操作符: 关系操作符: = == !...(非) 可以用于布尔表达式或者/regexp/之前。 例如: awk ‘(1 < 10 ) && ( 模式包括两个特殊字段 BEGIN和END。使用BEGIN语句设置计数和打印头。...,填充域,0则表示所有域,1表示第一个域, 思考题:如何打印所有记录(以/etc/passwd中的内容为例) 例4:搜索/etc/passwd有root关键字的所有行 这种是pattern(模式)的使用示例...该脚本将提交给cron进程来运行,如果某个日志文件超过了特定的长度,那么它的内容将被倒换到另一个文件中,并清除原有文件中的内容。 该脚本中日志文件的长度限制是由变量BLOCK_LIMIT设定的。

    5.8K20

    Shell常用命令使用说明

    -e 或 –regexp= : 指定字符串做为查找文件内容的样式。 -E 或 –extended-regexp : 将样式为延伸的正则表达式来使用。...-F 或 –fixed-regexp : 将样式视为固定字符串的列表。 -G 或 –basic-regexp : 将样式视为普通的表示法来使用。...例如 1,20s/old/new/g 就是啦 sed元字符 - ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。 - $ # 匹配行结束,如:/sed$/匹配所有以sed结尾的行。.... # 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。 - * # 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。...任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。

    4.7K20

    Linux命令之Grep——文本搜索

    grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。...如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。...-e --regexp= #指定字符串做为查找文件内容的样式。 -E --extended-regexp #将样式为延伸的普通表示法来使用。...-F --fixed-regexp #将样式视为固定字符串的列表。 -G --basic-regexp #将样式视为普通的表示法来使用。...显示包含ed或者at字符的内容行: [root@localhost test]# cat test.txt |grep -E "ed|at" redhat Redhat 显示当前目录下面以.txt 结尾的文件中的所有包含每个字符串至少有

    2.8K30

    精通正则表达式 - 正则表达式实用技巧

    .* 抵达字符串的末尾,但必须不断回退,以找到斜线或者反斜线。直到最后它交还了匹配的所有字符,仍然无法匹配。此刻,正则引擎知道,在字符串的起始位置不存在匹配,但这远远没有结束。...实践中,经过合理优化的传动装置能够认识到,对几乎所有以 .* 开头的正则表达式来说,如果在某个字符串的起始位置不能匹配,也就不能在其他任何位置匹配,所以它只会在字符串的起始位置尝试一次。...第二正则表达式匹配的内容太少,第三个正则表达式能够匹配 (this),但无法匹配所需的内容。         这三个表达式都不合适。真正的问题在于,大多数系统中,正则表达式无法匹配任意深度的嵌套结构。...在使用 NFA(如MySQL)引擎时还需要考虑效率问题:既然没有用到括号匹配的文本,就可以把它们改为非捕获型括号'(?:...)'。...如果愿意,可以使用分隔符一次性得到所有捕获组,如 regexp_replace(@s, @r, '1|2', 1, 0, 'n'),用 | 符号作为分隔符连接起多个捕获组。

    93940

    每天一个linux命令:grep 命令

    grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。...如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。...-e  --regexp=   #指定字符串做为查找文件内容的样式。    -E      --extended-regexp   #将样式为延伸的普通表示法来使用。   ...-F   --fixed-regexp   #将样式视为固定字符串的列表。    -G   --basic-regexp   #将样式视为普通的表示法来使用。   ...4.规则表达式: grep的规则表达式: ^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。     $  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

    3.1K20

    给 db2 添加正则表达式函数

    正则表达式实在太强大了,理论上它可以将任何字符串变成你想要的结果,使用方法可参考上一篇文章学会正则表达式,玩弄文本于股掌之中。...如 mysql 中 查找 name 字段中以元音字符开头或以 'ok' 字符串结尾的所有数据: mysql> SELECT name FROM person_tbl WHERE name REGEXP...'^[aeiou]|ok$'; 如 oracle 10g 提供的四个正则表达式函数 1、REGEXP_LIKE(srcstr, pattern [, match_option]) :比较一个字符串是否与正则表达式匹配...2、REGEXP_INSTR(srcstr, pattern [, position [, occurrence [, return_option [, match_option]]]]):在字符串中查找正则表达式...3、REGEXP_SUBSTR (srcstr, pattern [, position [, occurrence [, match_option]]]):(提取) 返回与正则表达式匹配的子字符串 。

    2.7K10
    领券