grep笔记240103

常用选项::

-i:忽略大小写进行匹配。
-v:反向匹配,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。
-c:只打印匹配的行数。
-A: 空格接数字,打印匹配行和之后数字行
-B: 空格接数字,打印匹配行和之前数字行
-C: 空格接数字,打印匹配行和之前数字行和之后数字行

grep的 -e , -E , -F , -G , -P 有什么区别

grep 是一个常用的命令行工具,用于在文本文件中搜索匹配指定模式的行。-e-E-F-G-Pgrep 的选项,它们具有不同的功能和用途。

  1. -e 选项:
    • grep -e pattern1 file.txt:仅匹配 pattern1
    • grep -e pattern2 -e pattern3 file.txt:同时匹配 pattern2pattern3
    • 可以多次使用 -e 选项来指定多个模式。
  2. -E 选项:
    • grep -E pattern1 file.txt:使用扩展正则表达式匹配 pattern1
    • grep -E 'pattern2|pattern3' file.txt:使用管道符号 (|) 分隔的多个模式进行匹配。得并集
    • 也可以用 grep -E -e pattern1 -e pattern2 -e pattern3 file.txt来匹配多个表达式,得并集. 注意,是多个-e , 而-E只出现一次,表示启用扩展正则
    • 扩展正则表达式提供了更多的元字符和语法,使得模式更加灵活和强大。
  3. -F 选项:
    • grep -F pattern1 file.txt:将 pattern1 当作固定字符串进行匹配。
    • grep -F 'pattern2\|pattern3' file.txt:使用管道符号 (|) 分隔的多个固定字符串进行匹配。
    • 与正则表达式不同,固定字符串不解释特殊字符或元字符。
  4. -G 选项:
    • grep -G pattern1 file.txt:使用基本正则表达式匹配 pattern1
    • 基本正则表达式是传统的正则表达式语法,与扩展正则表达式相比,它的功能和语法较为有限。
  5. -P 选项:
    • grep -P pattern1 file.txt:使用 Perl 兼容的正则表达式匹配 pattern1
    • Perl 兼容的正则表达式提供了更多的功能和语法,与扩展正则表达式类似,但不受 POSIX 标准限制。
      总结:
  • -e 用于指定单个模式进行匹配。
  • -E 使用扩展正则表达式进行匹配。
  • -F 将模式视为固定字符串进行匹配。
  • -G 使用基本正则表达式进行匹配。
  • -P 使用 Perl 兼容的正则表达式进行匹配。



在grep命令中,-e-E-F-G-P选项之间的区别如下:

-e选项:这是grep命令的常规选项,用于指定要搜索的模式。当使用-e选项时,grep会在文本中搜索与指定模式匹配的行。当只有一个表达式时,可以不写-e, 多个-e接多个表达式,相当于并集

-E选项:这个选项允许使用扩展正则表达式(Extended Regular Expression)。它提供了更多的正则表达式功能和灵活性,例如支持?、+、{}、()和|等元字符。使用-E选项可以编写更复杂的正则表达式模式来进行搜索。

-F选项:这个选项允许使用固定字符串进行搜索,而不是正则表达式。当使用-F选项时,grep会直接匹配指定的字符串,而不会解释为正则表达式。这提供了一种简单的方式来搜索特定的文本片段。

-G选项:这个选项允许使用基本正则表达式(Basic Regular Expression)进行搜索。基本正则表达式是传统的正则表达式语法,它提供了一些基本的元字符和语法,用于匹配文本中的模式。使用-G选项可以编写基本的正则表达式模式来进行搜索。

-P选项:这个选项允许使用Perl兼容的正则表达式(Perl-compatible Regular Expression)进行搜索。Perl正则表达式提供了比基本正则表达式更强大的功能,包括非捕获组、零宽断言和命名捕获组等高级功能。使用-P选项可以利用Perl正则表达式的强大功能进行复杂的文本搜索和处理。
这些选项为grep命令提供了不同的搜索模式和控制方式。根据您的具体需求,您可以选择适合的选项来执行特定的搜索任务。

grep的 -e和-E的区别

-e和-E可以一起用,功能没有对立性,没法区别, 应该是有无-E的区别

-e 后接脚本, 可以有多个, 相当于并集

-E 表示使用扩展正则,

当腰使用多个表达式的扩展正则时, 不是写多个-E, 而是多个-e一个-E

例如列出 grep --help 中,匹配到"A",或匹配到"B",或匹配到"C" 的行用:

grep --help | grep -e 'A' -e 'B' -e 'C' -E

# 列出 grep --help 中,匹配到"A",或匹配到"B",或匹配到"C" 的行用:   
grep --help | grep -e 'A' -e 'B' -e 'C' -E
# 而不是
grep --help | grep -E 'A' -E 'B' -E 'C' 错误






grep -A -B -C 输出匹配行及相邻行

在这里插入图片描述
grep --help 摘抄👇

文件控制:

  • -B, --before-context=数值 打印前面 <数值> 行上下文
  • -A, --after-context=数值 打印后面 <数值> 行上下文
  • -C, --context=数值 打印前后 <数值> 行上下文
文件控制:
  -B, --before-context=数值  打印前面 <数值> 行上下文
  -A, --after-context=数值  打印后面 <数值> 行上下文
  -C, --context=数值        打印前后 <数值> 行上下文

man grep摘抄

   -A NUM, --after‐context=NUM
          打印出紧随匹配的行之后的下文 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。

   -B NUM, --before‐context=NUM
          打印出匹配的行之前的上文 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。

   -C NUM, --context=NUM
          打印出匹配的行的上下文前后各 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。
       -A NUM, --after‐context=NUM
              打印出紧随匹配的行之后的下文 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。

       -B NUM, --before‐context=NUM
              打印出匹配的行之前的上文 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。

       -C NUM, --context=NUM
              打印出匹配的行的上下文前后各 NUM 行。在相邻的匹配组之间将会打印内容是 -- 的一行。

grep输出匹配行及之后几行用 -A 数值

-A--after-context=数值--after-context 数值,等号可有可无
打印后面 <数值> 行上下文
打印出紧随匹配的行之后的下文 NUM 行。在相邻的匹配组之间将会打印

例 打印匹配行和之后3行, 以下效果相同

grep --help | grep '\-A' -A 3
grep --help | grep -A 3 '\-A'
man grep | grep '\-A' -A 3
man grep | grep -A 3 '\-A'
grep --help | grep '\-A' --after-context=3
grep --help | grep '\-A' --after-context 3
man grep | grep '\-A' --after-context=3
man grep | grep '\-A' --after-context 3
grep --help | grep --after-context=3 '\-A'
grep --help | grep --after-context 3 '\-A'
man grep | grep --after-context=3 '\-A'
man grep | grep --after-context 3 '\-A'




grep输出匹配行及之前几行用 -B 数值

-B 数值--before-context=数值--before-context 数值,等号可有可无
打印前面 <数值> 行上下文
打印出匹配的行之前的上文 NUM 行。在相邻的匹配组之间将会打印内容是 – 的一行。

例 : 打印匹配行和之前3行, 以下效果相同

grep --help | grep '\-B' -B 3
grep --help | grep -B 3 '\-B'
man grep | grep '\-B' -B 3
man grep | grep -B 3 '\-B'
grep --help | grep '\-B' --before-context=3
grep --help | grep '\-B' --before-context 3
man grep | grep '\-B' --before-context=3
man grep | grep '\-B' --before-context 3
grep --help | grep --before-context=3 '\-B'
grep --help | grep --before-context 3 '\-B'
man grep | grep --before-context=3 '\-B'
man grep | grep --before-context 3 '\-B'




grep输出匹配行及之前几行用 -C 数值

-C 数值--context=数值--context 数值,等号可有可无
打印前后 <数值> 行上下文
打印出匹配的行的上下文前后各 NUM 行。在相邻的匹配组之间将会打印内容是 – 的一行。

例 : 打印匹配行和之前之后各3行, 以下效果相同

grep --help | grep '\-C' -C 3
grep --help | grep -C 3 '\-C'
man grep | grep '\-C' -C 3
man grep | grep -C 3 '\-C'
grep --help | grep '\-C' --context=3
grep --help | grep '\-C' --context 3
man grep | grep '\-C' --context=3
man grep | grep '\-C' --context 3
grep --help | grep --context=3 '\-C'
grep --help | grep --context 3 '\-C'
man grep | grep --context=3 '\-C'
man grep | grep --context 3 '\-C'




分别用 grep,sed,awk 实现文本筛选过滤功能

在这里插入图片描述

筛选ip address show的ipv4

ip address show可简写为ip address可简写为ip a

[z@1235eth5 root]$ ip a | grep 'inet\b'
    inet 127.0.0.1/8 scope host lo
    inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
[z@1235eth5 root]$ ip a | sed '/inet\b/p' -n
    inet 127.0.0.1/8 scope host lo
    inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
[z@1235eth5 root]$ ip a | awk '/inet\>/{print}'
    inet 127.0.0.1/8 scope host lo
    inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
ip a | grep 'inet\b'
ip a | sed '/inet\b/p' -n
ip a | awk '/inet\>/{print}'

也可不写{}, 当没有大括号{}时, 相当于有{print $0}={print}

ip a | awk '/inet\>/{print $0}'
ip a | awk '/inet\>/{print}'
ip a | awk '/inet\>/'

测试时, \b在awk中不起作用, 使用了\>代替

在正则中,

  • \b 表示单词边界
  • \< 表示单词开始边界
  • \> 表示单词结束边界

awk分gawk,mawk等
在Ubuntu2204Desktop版中, awk \b\> 都不起作用, 原因是使用了 mawk . Ubuntu2204Server默认用的是 gawk , 也能用 mawk
Fedora39的awk是gawk




ip a | sed '/inet\b/p' -n

👆也可写成👇

ip a | sed -n '/inet\b/p'

-n 是不输出过滤前的内容, p是输出过滤匹配的行 ;

  • 如果只有-n , 那就什么都看不到
  • 如果只有 p , 会发现所有内容都输出, 且匹配的内容出现两遍




grep反匹配用-v , 输出匹配不到内容的行

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。

grep -v 反匹配输出,结果取反,输出不匹配的行,输出不匹配的结果,反匹配,不匹配表达式,输出与表达式不匹配的内容

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

用法: grep [选项]... 模式 [文件]...
在每个<文件>中查找给定<模式>。
例如:grep -i 'hello world' menu.h main.c
<模式>可以包括多个模式字符串,使用换行符进行分隔。

模式选择与解释:
  -E, --extended-regexp     <模式> 是扩展正则表达式
  -F, --fixed-strings       <模式> 是字符串
  -G, --basic-regexp        <模式> 是基本正则表达式
  -P, --perl-regexp         <模式> 是 Perl 正则表达式
  -e, --regexp=<模式>       用指定的<模式>字符串来进行匹配操作
  -f, --file=<文件>         从给定<文件>中取得<模式>
  -i, --ignore-case         在模式和数据中忽略大小写
      --no-ignore-case      不要忽略大小写(默认)
  -w, --word-regexp         强制<模式>仅完全匹配字词
  -x, --line-regexp         强制<模式>仅完全匹配整行
  -z, --null-data           数据行以一个 0 字节结束,而非换行符

杂项:
  -s, --no-messages         不显示错误信息
  -v, --invert-match        选中不匹配的行
  -V, --version             显示版本信息并退出
      --help                显示此帮助并退出

输出控制:
  -m, --max-count=<次数>    得到给定<次数>次匹配后停止
  -b, --byte-offset         输出的同时打印字节偏移
  -n, --line-number         输出的同时打印行号
      --line-buffered       每行输出后刷新输出缓冲区
  -H, --with-filename       为输出行打印文件名
  -h, --no-filename         输出时不显示文件名前缀
      --label=<标签>        将给定<标签>作为标准输入文件名前缀
  -o, --only-matching       只显示行中非空匹配部分
  -q, --quiet, --silent     不显示所有常规输出
      --binary-files=TYPE   设定二进制文件的 TYPE(类型);
                            TYPE 可以是 'binary''text''without-match'
  -a, --text                等同于 --binary-files=text
  -I                        等同于 --binary-files=without-match
  -d, --directories=ACTION  读取目录的方式;
                            ACTION 可以是`read', `recurse',或`skip'
  -D, --devices=ACTION      读取设备、先入先出队列、套接字的方式;
                            ACTION 可以是`read'或`skip'
  -r, --recursive           等同于--directories=recurse
  -R, --dereference-recursive       同上,但遍历所有符号链接
      --include=GLOB        只查找匹配 GLOB(文件模式)的文件
      --exclude=GLOB        跳过匹配 GLOB 的文件
      --exclude-from=FILE   跳过所有匹配给定文件内容中任意模式的文件
      --exclude-dir=GLOB    跳过所有匹配 GLOB 的目录
  -L, --files-without-match  只打印没有匹配上的<文件>的名称
  -l, --files-with-matches  只打印有匹配的<文件>的名称
  -c, --count               只打印每个<文件>中的匹配行数目
  -T, --initial-tab         行首制表符对齐(如有必要)
  -Z, --null                在<文件>名最后打印空字符

文件控制:
  -B, --before-context=NUM  打印文本及其前面NUM 行
  -A, --after-context=NUM   打印文本及其后面NUM 行
  -C, --context=NUM         打印NUM 行输出文本
  -NUM                      same as --context=NUM
      --group-separator=SEP  print SEP on line between matches with context
      --no-group-separator  do not print separator for matches with context
      --color[=WHEN],
      --colour[=WHEN]       use markers to highlight the matching strings;
                            WHEN is 'always', 'never', or 'auto'
  -U, --binary              do not strip CR characters at EOL (MSDOS/Windows)

若给定文件为“-”,则从读取标准输入。  若无文件参数,则除非处于
递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于
两个文件参数,则默认启用 -h 选项。如果有任意行被匹配则退出状态为 0,
否则为 1;如果有错误产生且未指定 -q 参数,则退出状态为 2

用法: grep [选项]… 模式 [文件]…
在每个<文件>中查找给定<模式>。
例如:grep -i ‘hello world’ menu.h main.c
<模式>可以包括多个模式字符串,使用换行符进行分隔。

模式选择与解释:
-E, --extended-regexp <模式> 是扩展正则表达式
-F, --fixed-strings <模式> 是字符串
-G, --basic-regexp <模式> 是基本正则表达式
-P, --perl-regexp <模式> 是 Perl 正则表达式
-e, --regexp=<模式> 用指定的<模式>字符串来进行匹配操作
-f, --file=<文件> 从给定<文件>中取得<模式>
-i, --ignore-case 在模式和数据中忽略大小写
–no-ignore-case 不要忽略大小写(默认)
-w, --word-regexp 强制<模式>仅完全匹配字词
-x, --line-regexp 强制<模式>仅完全匹配整行
-z, --null-data 数据行以一个 0 字节结束,而非换行符

杂项:
-s, --no-messages 不显示错误信息
-v, --invert-match 选中不匹配的行
-V, --version 显示版本信息并退出
–help 显示此帮助并退出

输出控制:
-m, --max-count=<次数> 得到给定<次数>次匹配后停止
-b, --byte-offset 输出的同时打印字节偏移
-n, --line-number 输出的同时打印行号
–line-buffered 每行输出后刷新输出缓冲区
-H, --with-filename 为输出行打印文件名
-h, --no-filename 输出时不显示文件名前缀
–label=<标签> 将给定<标签>作为标准输入文件名前缀
-o, --only-matching 只显示行中非空匹配部分
-q, --quiet, --silent 不显示所有常规输出
–binary-files=TYPE 设定二进制文件的 TYPE(类型);
TYPE 可以是 ‘binary’、‘text’ 或 ‘without-match’
-a, --text 等同于 --binary-files=text
-I 等同于 --binary-files=without-match
-d, --directories=ACTION 读取目录的方式;
ACTION 可以是read', recurse’,或skip' -D, --devices=ACTION 读取设备、先入先出队列、套接字的方式; ACTION 可以是read’或`skip’
-r, --recursive 等同于–directories=recurse
-R, --dereference-recursive 同上,但遍历所有符号链接
–include=GLOB 只查找匹配 GLOB(文件模式)的文件
–exclude=GLOB 跳过匹配 GLOB 的文件
–exclude-from=FILE 跳过所有匹配给定文件内容中任意模式的文件
–exclude-dir=GLOB 跳过所有匹配 GLOB 的目录
-L, --files-without-match 只打印没有匹配上的<文件>的名称
-l, --files-with-matches 只打印有匹配的<文件>的名称
-c, --count 只打印每个<文件>中的匹配行数目
-T, --initial-tab 行首制表符对齐(如有必要)
-Z, --null 在<文件>名最后打印空字符

文件控制:
-B, --before-context=NUM 打印文本及其前面NUM 行
-A, --after-context=NUM 打印文本及其后面NUM 行
-C, --context=NUM 打印NUM 行输出文本
-NUM same as --context=NUM
–group-separator=SEP print SEP on line between matches with context
–no-group-separator do not print separator for matches with context
–color[=WHEN],
–colour[=WHEN] use markers to highlight the matching strings;
WHEN is ‘always’, ‘never’, or ‘auto’
-U, --binary do not strip CR characters at EOL (MSDOS/Windows)

若给定文件为“-”,则从读取标准输入。 若无文件参数,则除非处于
递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于
两个文件参数,则默认启用 -h 选项。如果有任意行被匹配则退出状态为 0,
否则为 1;如果有错误产生且未指定 -q 参数,则退出状态为 2。







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/292163.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

整理的6个Linux运维脚本

整理的6个Linux运维脚本 1、统计/etc/passwd 中能登录的用户&#xff0c;并将对应在/etc/shadow 中第二列密码提取2、查看当前连接到本机的远程IP地址3、检测本机当前用户是否为超级管理员&#xff08;root&#xff09;4、检查指定目录下是否存在对应文件5、查找 Linux 系统中的…

QT_02 窗口属性、信号槽机制

QT - 窗口属性、信号槽机制 1. 设置窗口属性 窗口设置 1,标题 2,大小 3,固定大小 4,设置图标在 widget.cpp 文件中&#xff1a; //设置窗口大小,此时窗口是可以拉大拉小的 //1参:宽度 //2参:高度 this->resize(800, 600); //设置窗口标题 this->setWindowTitle("…

使用 Palantir 表征单细胞数据中的细胞状态概率

使用 Palantir 表征单细胞数据中的细胞状态概率 写在前面的概览正文内容摘要Introduction结果马尔可夫过程The Palantir algorithm早期人类造血的景观Palantir 概括了预期的造血趋势与轨迹推理算法的比较 讨论 学习文献 写在前面的概览 Palantir算法主要用于模拟细胞分化的轨迹…

Redis缓存穿透,缓存击穿,缓存雪崩

文章目录 Redis缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩1. 缓存穿透1.1 解决方案1&#xff1a;缓存空数据1.2 解决方案2&#xff1a;使用布隆过滤器1.2.1 布隆过滤器介绍 2. 缓存击穿2.1 解决方案1&#xff1a;互斥锁2.2 解决方案2&#xff1a;逻辑过期 3. 缓存雪崩3…

交易逆序对的总数

题目链接 交易逆序对的总数 题目描述 注意点 0 < record.length < 50000 解答思路 本题是归并排序的扩展&#xff0c;可以先进入手撕归并排序了解利用归并排序进行合并时&#xff0c;对于左侧区间当前的首个元素leftNum&#xff0c;不论右侧区间当前的首个元素right…

【智慧地球】星图地球 | 星图地球超算数据工场

当前空天信息处理涉及并发并行的大量计算问题&#xff0c;需要高性能计算、智能计算联合调度&#xff0c;以此来实现多算力融合&#xff1b;而我国算力产业规模快速增长&#xff0c;超算算力资源正需要以任务驱动来统筹。 基于此&#xff0c;中科星图与郑州中心展开紧密合作&a…

使用 Process Explorer 和 Windbg 排查软件线程堵塞案例分享

目录 1、问题说明 2、线程堵塞的可能原因分析 3、使用Windbg和Process Explorer确定线程中发生了死循环 4、根据Windbg中显示的函数调用堆栈去查看源码&#xff0c;找到问题 4.1、在Windbg定位发生死循环的函数的方法 4.2、在Windbg中查看变量的值去辅助分析 4.3、是循环…

抖店申请流程是什么?

我是电商珠珠 想要入驻抖店的人很多&#xff0c;但是知道流程的新手却没有几个。 从开店资料到入驻流程&#xff0c;我来具体的跟大家讲一讲。 第一个&#xff0c;新手开店资质 1、营业执照 营业执照是入驻门槛之一&#xff0c;营业执照类型分为两类&#xff0c;一类为企业…

快速批量运行命令

Ansible 是 redhat 提供的自动化运维工具&#xff0c;它是 Python编写&#xff0c;可以通过 pip 安装。 pip install ansible 它通过任务(task)、角色(role)、剧本(playbook) 组织工作项目&#xff0c;适用于批量化系统配置、软件部署等需要复杂操作的工作。 但对于批量运行命…

进程的程序替换(exec函数)【Linux】

进程的程序替换详解exec函数【Linux】 程序替换的原理exec系列函数函数理解命令理解&#xff08;助记&#xff09; 关于程序替换中环境变量的解释exec函数之间的关系exec函数的使用execlexeclpexecleexecv 程序替换的原理 进程的程序替换就是让子进程执行新程序&#xff0c; 执…

使用华为云鲲鹏弹性云服务器部署Discuz

本实验将在华为云鲲鹏弹性云服务器CentOS系统的实例上&#xff0c;部署Discuz!项目&#xff0c;并进行初步的安装测试。 注意&#xff1a;官网文档有些链接失效&#xff0c;本文在官方文档的基础上作出修改&#xff0c;具体参见Discuz安装这一步 操作前提&#xff1a;登录华为…

Android : 使用GestureDetector 进行手势识别—简单应用

示例图&#xff1a; GestureDetector 介绍&#xff1a; GestureDetector 是 Android 开发中用于识别和处理手势的一个类。它允许开发者检测用户在触摸屏上的各种手势&#xff0c;如滑动、长按、双击等。通过使用 GestureDetector&#xff0c;您可以轻松地为应用程序添加手势识…

FPGA设计时序约束十五、Set_Bus_Skew

目录 一、序言 二、Set Bus Skew 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 报告分析 三、工程示例 3.1 工程代码 3.2 时序报告 四、参考资料 一、序言 在时序约束中&#xff0c;对时钟的约束除了set clock latency,set clock uncertainty,set input jitter外&…

蜥蜴目标检测数据集VOC格式1400张

蜥蜴&#xff0c;一种爬行动物&#xff0c;以其独特的形态和习性&#xff0c;成为了人们关注的焦点。 蜥蜴的外观多样&#xff0c;体型大小不一。它们通常拥有长条的身体、四肢和尾巴&#xff0c;鳞片覆盖全身&#xff0c;这使得它们能够在各种环境中轻松移动。大多数蜥蜴拥有…

在Ubuntu22.04上部署Stable Diffusion

在AI绘画软件领域Stable-Diffusion&#xff08;简称SD&#xff09;在开源领域绝对是不二之选&#xff0c;他的插件方式可以让此软件具有更多的功能&#xff0c;开发者社群为此提供了大量免费高质量的外接预训练模型&#xff08;fine-tune&#xff09;和插件&#xff0c;并持续维…

力扣-42.接雨水

题目&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组[0,1,0,2…

day06、SQL语言之概述

SQl 语言之概述 6.1 SQL语言概述6.2 SQL语言之DDL定义数据库6.3 SQL语言之DML操纵数据库 6.1 SQL语言概述 6.2 SQL语言之DDL定义数据库 6.3 SQL语言之DML操纵数据库

mysql死锁排查

查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX;字段解释trx_id唯一事务id号&#xff0c;只读事务和非锁事务是不会创建id的trx_state事务的执行状态&#xff0c;值一般分为&#xff1a;RUNNING, LOCK WAIT, ROLLING BACK, and COMMITTING.trx_started事务…

智能手机2024:狂卷“微创新”后如何突破新机遇

文 | 智能相对论 作者 | 楷楷 2023年&#xff0c;智能手机市场终于开始展露曙光。Counterpoint Research数据显示&#xff0c;2023年10月全球智能手机销量同比增长5%&#xff0c;智能手机市场出货量在经历了连续27个月的同比下滑后&#xff0c;首次出现同比正增长。 特别是在…

Redis学习笔记(1)——感谢尚硅谷官方文档

Redis学习笔记&#xff08;1&#xff09;——感谢尚硅谷官方文档 1. NoSQL1.1 NoSQL数据库概述1.2 各种NoSQL数据库 2. Redis数据库安装2.1 安装条件2.2 Widows下如何安装Redis?2.3 Linux下如何安装Redis? 3. Redis介绍3.1 Redis 简介3.2 Redis 优势3.3 Redis与其他key-value…