文章目录

  • 一、Linux正则表达式与三剑客知识
    • 1.什么是正则表达式?
    • 2.为什么要学习正则表达式?
    • 3.有关正则表达式容易混淆的事项
    • 4.学习正则表达式注意事项
    • 5. 正则表达式的分类
      • 5.1 基本的正则表达式(BRE)集合
    • 6. 正则表达式测试题
    • 7. 扩展正则
    • 8. 扩展正则测试题
    • 9. 元字符
    • 10. 特殊预定义表达式
  • 二、Sed命令语法及参数说明

一、Linux正则表达式与三剑客知识

1.什么是正则表达式?

    简单地说,正则表达式就是为处理大量的字符串及文本而定义的一套规则和方法。假设"@"代表"Iam”, "!"代表"buffes”,则执行 echo "@!“的结果就是输出“I am buffes”。通过这些特殊符号的辅助,管理员就可以快速过滤、替换或输出需要的字符串,让Linux运维工作更高效。

Linux三剑客的正则表达式有如下几个特点:
        为处理大量文本及字符串而定义的一套规则和方法。
        其工作时以行为单位进行,即一次处理一行。
        通过正则表达式可以将复杂的处理任务化繁为简,提高操作Linux的效率。
        仅被三剑客(grep/egrep、sed、awk)命令支持,其他命令无法使用。

2.为什么要学习正则表达式?

    实际企业中,运维工程师在做Linux运维工作时,通常都会面对大量带有字符串的内容,比如文本配置、程序、命令输出及日志文件等,而我们经常会有迫切的需要,比如,要从大量的字符串内容中查找符合工作需要的特定的字符串,这就要靠正则表达式了。因此,可以说正则表达式就是为过滤这样特殊字符串而生的!
    例如:要从ifconfig的输出中取出IP地址段内容,就可以利用如下命令配合正则表达式字符匹配实现。

[root@buffes ~]# ifconfig eth0 | sed -rn '2s#".*addr: (.*) Bc.*$#\1#gp'#<=Centos6 下命令。
10.0.0.7[root@buffes  ~]# ifconfig eth0 | sed -rn '2s#",*inet (.*) net.*$#\1#gp'#<==Centos7下命令。
10.0.0.7

3.有关正则表达式容易混淆的事项

    正则表达式的应用非常广泛,存在于各种语言中,例如: Python、 Java、 Perl (PCRE)等。但是,本文讲的是Linux系统运维工作中的正则表达式,即Linux正则表达式,应用 正则表达式的命令就是grep(egrep), sed.awk,换句话说, Linux三剑客要想工作更高效,那一定离不开正则表达式的配合。注意,其他普通命令正常情况下无法使用正则表达式。
    正则表达式和前文讲解的通配符、特殊字符是有本质区别的,正则在Linux中是通过 三剑客命令在文件(或数据流)中过滤内容的。而通配符是大部分普通命令都支持的,它主要是用来查找文件或目录的,比如说查以txt结尾的文件时,就是用"*.txt"这样的字符串匹配。这一点伙伴们要注意。

4.学习正则表达式注意事项

        在学习正则表达式之前,先来看看下面几点说明:
(1)Linux正则表达式是按照行为单位进行处理的。
(2)正则表达式仅适合三剑客命令,为了方便讲解,本章更多使用grep和egrep命令进行 演示,并且还会建议给它们加上一个别名配置,示例如下:

alias grep='grep --color=auto'
alias egrep='egrep --color=auto' #<==配置后会把匹配上的内容用红色显示,仅CentOS6 需要配置。

(3)注意LC_ALL环境变量的设置,建议为:

export LC_ALL=C    #<==配置后操作时不会出现异常匹配情况。

完整的处理及生效命令为:

cat >>/etc/profile<<EOF   #<==注意 EOF 后面不要有多余的空格。
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
export LC_ALL=C
EOF  #<==注意 EOF 前后都没有空格或其他符号。source /etc/profile    #<==使修改的内容生效。

5. 正则表达式的分类

Linux三剑客的正则表达式分为两类,即:
1) 基本正则表达式(BRE, basic regular expression)
       BRE 对应的元字符有“^S.[]*”。
2) 扩展正则表达式(ERE, extended regular expression)
       ERE在BRE的基础上增加了“0{)?+1”等字符。

5.1 基本的正则表达式(BRE)集合

字符作用
^尖角号,用法为^koboid,表示匹配以koboid单词开头的行
$美元符,用法为koboid$,表示匹配以koboid单词结尾的行
^$组合符,表示空行,逻辑解释就是以^结尾的行,或者以$开头的行
.点号,表示匹配任意一个且只有一个字符(但是不能匹配空行)
\转义字符,让有特殊含义的字符脱掉马甲,现出原形,如.只表示小数点
*重复前一个字符(连续出现)0次或N次
.*组合符,匹配所有内容
^.*组合符,匹配以任意多个字符开头的内容
.*$组合符,以任意多个字符结尾的内容
[abc]匹配[]集合内的任意一个字符a或b或c;[abc]也可写成[a-c]
[^abc]匹配不包含^后的任意字符a或b或c,这里的^表示对[abc]的取反,^不能用 ! 替代

测试实验:

^ 尖角号,用法为^koboid,表示匹配以koboid单词开头的行

	[root@buffes test]# grep ^I buffes.txt #输出以I开头的行I am buffes teacher!I teach linux.I like badminton ball ,billiard ball and chinese chess![root@buffes test]# ls -l ~|grep ^d #输出以d开头的行drwxr-xr-x. 2 1000 root       33 Jul  1  2030 abcdrwxr-xr-x. 2 root root       45 Jun  6  2019 girlLovedrwxr-xr-x. 3 root root       17 May  8  2021 buffes_dirdrwxr-xr-x. 2 root root       24 May 25 11:24 test

$ 美元符,用法为buffes$,表示匹配以buffes单词结尾的行

[root@buffes test]# grep m$ buffes.txt #输出以m结尾的行
our site is http://www.buffes.cn[root@buffes test]# ls -lF ~|grep /$
drwxr-xr-x. 2 1000 root       33 Jul  1  2030 abc/
drwxr-xr-x. 2 root root       45 Jun  6  2019 girlLove/
drwxr-xr-x. 3 root root       17 May  8  2021 buffes_dir/
drwxr-xr-x. 2 root root       24 May 25 11:24 test/

^$ 组合符,表示空行,逻辑解释就是以^结尾的行,或者以$开头的行

[root@buffes test]# cat buffes.txt -n1	I am buffes teacher!2	I teach linux.3	4	I like badminton ball ,billiard ball and chinese chess!5	our site is http://www.buffes.cn6	my qq num is 1234567.7	8	not 1234567.9	my god ,i am not buffes,but buffes!
[root@buffes test]# grep ^$ buffes.txt [root@buffes test]# grep -n ^$ buffes.txt  #输出空行并打印行号
3:
7:

. 点号,表示匹配任意一个且只有一个字符(但是不能匹配空行)

[root@buffes test]# grep . buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes!
[root@buffes test]# grep -n . buffes.txt 
1:I am buffes teacher!
2:I teach linux.
4:I like badminton ball ,billiard ball and chinese chess!
5:our site is http://www.buffes.cn
6:my qq num is 1234567.
8:not 1234567.
9:my god ,i am not buffes,but buffes!

\ 转义字符,让有特殊含义的字符脱掉马甲,现出原形,如.只表示小数点

[root@buffes test]# grep "\." buffes.txt #匹配带点的行
I teach linux.
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
[root@buffes test]# grep "\.$" buffes.txt #匹配以点结尾的行
I teach linux.
my qq num is 1234567.
not 1234567.
[root@buffes test]# grep ".$" buffes.txt  #匹配以任意一个字符结尾的行
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes!

* 重复前一个字符(连续出现)0次或N次

0*
空
0
00
00000[root@buffes test]# grep "0*" buffes.txt 
I am buffes teacher!
I teach linux.I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.not 1234567.
my god ,i am not oldbey,but buffes!
[root@buffes test]# grep "00*" buffes.txt 
my qq num is 1234567.
not 1234567.注意,当重复0次的时候,表示啥也没有(空),即匹配所有内容

.* 组合符,匹配所有内容

[root@buffes test]# grep ".*" buffes.txt 
I am oldboy teacher!
I teach linux.I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.not 1234567.
my god ,i am not buffes,but BUFFES!^.*	组合符,匹配以任意多个字符开头的内容.*$	组合符,以任意多个字符结尾的内容

[abc] 匹配[]集合内的任意一个字符a或b或c;[abc]也可写成[a-c]

[root@buffes test]# grep "[a-z0-9A-Z\.\!:,/]" buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes![root@buffes test]# grep "." buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but BUFFES!

[^abc] 匹配不包含^后的任意字符a或b或c,这里的^表示对[abc]的取反,^不能用!替代

[root@buffes test]# grep "[a-z0-9A-Z]" buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not oldbey,but buffes!
[root@buffes test]# 
[root@buffes test]# 
[root@buffes test]# 
[root@buffes test]# 
[root@buffes test]# grep "[^a-z0-9A-Z]" buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes!

6. 正则表达式测试题

1.过滤/etc/passwd中以nologin结尾的行。
grep "nologin$" /etc/passwd2.过滤/etc/passwd中以o开头的行。
grep "^o" /etc/passwd3.过滤/etc/passwd中至少含有1个0字符串的行。
grep "00*" /etc/passwd4.过滤/etc/passwd中的空行。
grep "^$" /etc/passwd5.过滤/etc/目录中(不含子目录)下的所有文件。
ls -l /etc|grep "^-"6.过滤/etc/services中含有点号的行。
grep "\." /etc/services

7. 扩展正则

字符作用
+匹配前一个字符1次或多次
?匹配前一个字符0次或1次
|表示或者,即同时过滤多个字符串
()分组过滤被括起来的东西表示一个整体
另外()的内容可以被后面的\n引用,n为数字,表示引用第几个括号的内容
\n引用前面()小括号里的内容,例如:(aa)\1,匹配aaaa
a{n,m}匹配前一个字符最少n次,最多m次
a{n,}匹配前一个字符最少n次
a{n}匹配前一个字符正好n次
a{,m}匹配前一个字符最多m次

+ 匹配前一个字符1次或多次

和*区别,*可以匹配0次。grep "0*" buffes.txt  #匹配0个0,或1个0或多个0
egrep "0+" buffes.txt #1个0或多个0[root@buffes test]# grep "0*" buffes.txt 
I am buffes teacher!
I teach linux.I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.not 1234567.
my god ,i am not buffes,but buffes!
[root@buffes test]# egrep "0+" buffes.txt
my qq num is 1234567.
not 1234567.

[:/]+ 匹配括号内的:或/字符1次或多次

[root@buffes test]# cat a.txt 
buffes
[root@buffes test]# egrep -o "." a.txt 
o
l
d
b
o
y[root@buffes test]# egrep "[:/]+" buffes.txt 
our site is http://www.buffe.cn
:::
///
:d::f
/etc/buffes//
[root@buffes test]# egrep "[:/]" buffes.txt 
our site is http://www.buffe.cn
:::
///
:d::f
/etc/buffes//

? 匹配前一个字符0次或1次

[root@buffes test]# egrep "0?" buffes.txt 
I am buffes teacher!
I teach linux.I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.not 1234567.
my god ,i am not buffes,but buffes!
:::
///
:d::f
/etc/buffes//

| 表示或者,即同时过滤多个字符串

[root@buffes test]# egrep "000|buffes" buffes.txt 
I am buffes teacher!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
/etc/buffes//

()分组过滤被括起来的东西表示一个整体
另外()的内容可以被后面的\n引用,n为数字,表示引用第几个括号的内容

\n	引用前面()小括号里的内容,例如:(aa)\1,匹配aaaa[root@buffes test]# 
[root@buffes test]# egrep "(0)(0)\1\2" buffes.txt 
not 1234567.
\1可以取出第1个括号的内容
\2可以取出第2个括号的内容。
.....
sed命令(下面几个没啥用)
a*
a+
a{n,m}	匹配前一个字符最少n次,最多m次a{n,}	匹配前一个字符最少n次a{n}	匹配前一个字符正好n次a{,m}	匹配前一个字符最多m次实践:
[root@buffes test]# egrep "0{3,4}" buffes.txt 
my qq num is 1234567.
not 1234567.
[root@buffes test]# egrep "0{3,}" buffes.txt 
my qq num is 1234567.
not 1234567.
[root@buffes test]# egrep "0{3}" buffes.txt 
my qq num is 1234567.
not 1234567.
[root@buffes test]# egrep "0{,3}" buffes.txt 
I am buffes teacher!
I teach linux.I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.not 1234567.
my god ,i am not buffes,but buffes!
:::
///
:d::f
/etc/buffes//

8. 扩展正则测试题

测试题:
1.过滤/etc/passwd中含有root或buffes的行。grep -E "root|buffes" /etc/passwd2.过滤/etc/passwd中至少含有1个0字符串的行。egrep "0+" /etc/passwd3.过滤/etc/passwd中匹配o字符0次或1次的行。
egrep "o?" /etc/passwd4.过滤/etc/passwd中匹配0字符1次到3次的行。
egrep "0{1,3}" /etc/passwd5.过滤/etc/shadow中匹配含有连续多个冒号或斜线的行。
egrep "[:/]+" /etc/shadow

9. 元字符

表达式描述
\b匹配单词边界,例如:\bbuffes\b只匹配buffes单词不匹配buffes*
\B匹配非单词的边界例如:buffes\B 匹配buffes123中的buffes,不匹配单独的buffes单词
\w匹配字母、数字与下划线,等价[_[:alnum:]]
\W匹配字母、数字与下划线以外的字符,等价[^_[:alnum:]]
\d匹配单个数字字符,注意,这个表达式需要使用grep -P参数才能识别*
\D匹配单个非数字字符,注意,这个表达式需要使用grep -P参数才能识别
\s匹配1位空白字符,注意,这个表达式需要使用grep -P参数才能识别
\S匹配1位非空白字符,注意,这个表达式需要使用grep -P参数才能识别

测试:

[root@buffes test]# egrep "buffes\b" /etc/passwd
buffes:x:5023:5023::/home/buffes:/bin/bash
[root@buffes test]# 
[root@buffes test]# egrep "\bbuffes\b" /etc/passwd
buffes:x:5023:5023::/home/buffes:/bin/bash
[root@buffes test]# egrep -w "buffes" /etc/passwd
buffes:x:5023:5023::/home/buffes:/bin/bash

10. 特殊预定义表达式

正则表达式描述示例
[:alnum:]匹配任意一个字母或数字字符,相当于[a-zA-Z0-9][[:alnum:]]
[:alpha:]匹配任意一个大小写字母字符,相当于[a-zA-Z][[:alpha:]]
[:blank:]空格与制表符(横向和纵向)[[:blank:]]
[:digit:]匹配任意一个数字字符,相当于[0-9][[:digit:]]
[:lower:]匹配小写字母,相当于[a-z][[:lower:]]
[:upper:]匹配大写字母,相当于[A-Z][[:upper:]]
[:punct:]匹配标点符号[[:punct:]]
[:space:]匹配一个包括换行符、回车等在内的所有空白符[[:space:]]
[:graph:]匹配任何一个可以看得见的且可以打印的字符[[:graph:]]
[:xdigit:]任何一个十六进制数(即:0-9,a-f,A-F)[[:xdigit:]]
[:cntrl:]任何一个控制字符(ASCII字符集中的前32个字符)[[:cntrl:]]
[:print:]任何一个可以打印的字符[[:print:]]
[root@buffes test]# egrep "[[:alnum:]]" buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes!
:d::f
/etc/buffes//
[root@buffes test]# egrep "[[:alpha:]]" buffes.txt 
I am buffes teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
our site is http://www.buffes.cn
my qq num is 1234567.
not 1234567.
my god ,i am not buffes,but buffes!
:d::f
/etc/buffes//
[root@buffes test]# egrep "[:digit:]" buffes.txt 
grep: character class syntax is [[:space:]], not [:space:]
[root@buffes test]# egrep "[[:digit:]]" buffes.txt 
my qq num is 1234567.
not 1234567.
[root@buffes test]# -A after 显示过滤的字符串和它之后的多少行
-B before 显示过滤的字符串和它之前的多少行
-C context 显示过滤的字符串和它之前之后的多少行
[root@buffes test]# grep -A 3 5 b.txt 
5
6
7
8
[root@buffes test]# grep -B 3 5 b.txt 
2
3
4
5
[root@buffes test]# grep -C 3 5 b.txt 
2
3
4
5
6
7
8

二、Sed命令语法及参数说明

【功能说明】
Sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器。
Sed是操作、过滤和转换文本内容的强大工具。常用功能有对文件实现快速增删改查(增加、删除、修改、查询),其中查询的功能中最常用的2大功能是过滤(过滤指定字符串)和取行(取出指定行)。

取行和替换

【语法格式】
sed [选项] [sed内置命令字符] [输入文件]

options[选项] 解释说明(带※的为重点)
-n 取消默认sed的输出,常与sed内置命令的p连用※
输出想要的内容。
-i 直接修改文件内容,而不是输出到终端。
-e 允许多次编辑

p 全拼print,表示打印匹配行的内容,通常p会与选项-n一起使用※

[root@buffes test]# cat -n buffes.txt 1	I am buffes teacher!2	I teach linux.3	4	I like badminton ball ,billiard ball and chinese chess!5	our site is http://www.buffes.cn6	my qq num is 1234567.7	8	not 1234567.9	my god ,i am not buffes,but buffes!10	:::11	///12	:d::f13	/etc/buffes//

sed 命令的练习

取buffes.txt 2-4行sed -n '2,4p' buffes.txt[root@buffes test]# sed -n '2,4p' buffes.txt
I teach linux.I like badminton ball ,billiard ball and chinese chess!取第4行
[root@buffes test]# sed -n '4p' buffes.txt
I like badminton ball ,billiard ball and chinese chess!笔试至少5个答案问题2:过滤出含有buffes字符串的行※。
sed -n '//p' #框架化
方法1:
[root@oldboy test]# grep buffes buffes.txt 
I am buffesteacher!
our site is http://www.buffes.cn
/etc/buffes//
方法2:
[root@buffes test]# sed -n '/buffes/p' buffes.txt 
I am buffes teacher!
our site is http://www.buffes.cn
/etc/buffes//

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94373.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94373.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94373.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB Figure画布中绘制表格详解

文章目录 1 使用uitable创建带有样式和颜色映射的表格 2 使用imagesc和text创建自定义表格 3 使用patch和text创建完全自定义的表格 4 代码详细讲解 4.1 使用uitable 4.2 使用imagesc和text 4.3 使用patch和text 5 颜色映射技巧 5.1 使用内置颜色映射 5.2 自定义颜色映射函数 5…

Python在语料库建设中的应用:文本收集、数据清理与文件名管理

一、问题的提出在日常语言学习与教学中&#xff0c;语料库是一个不可或缺的工具。它可以帮助我们查找高频词&#xff0c;获取搭配信息、例句信息、关键词信息等。由于建库过程操作步骤多&#xff0c;有时还要用到图片识别、格式转化、文本清理等技巧&#xff0c;很多人往往都止…

STL——priority_queue的使用(快速入门详细)

目录 前言 一、基本知识 二、使用 前言 priority_queue是在queue库里的&#xff0c;所以使用的时候要包含queue头文件。使用方法和堆类似&#xff0c;因为它的底层其实就是大根堆。 一、基本知识 优先队列优先级队列是一种容器适配器&#xff0c;根据一些严格的弱排序标准&…

MATLAB中函数的详细使用

一、函数基本知识function语法&#xff1a; function [,...,] myfun(,...,)&#xff0c; …

服务器初始化流程***

前言在云计算与自动化运维日益成熟的今天&#xff0c;快速、批量地部署服务器已成为常态。然而&#xff0c;一台新构建的云服务器或新安装的物理服务器&#xff0c;仅仅是一个可运行的操作系统内核&#xff0c;远未达到投入生产环境或开发测试的标准。一个缺乏标准化配置的“裸…

Python实现电商Excel读取进行可视化分析

目录专栏导读项目简介功能特性&#x1f4ca; 数据处理功能&#x1f4c8; 统计分析功能&#x1f3a8; 可视化功能&#x1f4cb; 报告生成项目结构安装和使用环境要求安装步骤使用自己的数据依赖包说明输出文件说明静态图表&#xff08;PNG格式&#xff09;交互式图表&#xff08…

肌肉力量训练

健身一年多瘦了十几斤&#xff0c;没有像上次一样吃轻食哦。每天早晨跑步或者做力量训练&#xff0c;中午和晚上吃完饭遛遛弯&#xff0c;坚持下来就好了。 但力量训练一直没有请教练&#xff0c;自己也没查资料&#xff0c;算是瞎练吧。最近发现了一本好书&#xff0c;讲解如何…

微服务-27.配置管理-什么是配置管理

一.配置管理到目前为止我们已经解决了微服务相关的几个问题&#xff1a;微服务远程调用微服务注册、发现微服务请求路由、负载均衡微服务登录用户信息传递不过&#xff0c;现在依然还有几个问题需要解决&#xff1a;我们发现很多微服务中的配置文件里的配置都是重复的。修改编辑…

【RAGFlow代码详解-13】RAG 管道

管道架构概述 RAG 管道由多个处理阶段组成&#xff0c;这些阶段将文本内容转换为适合智能检索的结构化知识表示&#xff1a;文档到知识图谱工作流程 主要处理工作流程通过 run_graphrag 功能将单个文档块转换为统一的知识图谱&#xff1a;GraphRAG 处理方法 RAGFlow 支持两种不…

深度学习——模型训练

以Pytorch自带的手写数据集为例。我们已经构建了一个输入层&#xff08;28*28&#xff09;&#xff0c;两个隐藏层&#xff08;128和256&#xff09;&#xff0c;一个输出层&#xff08;10&#xff09;的人工神经网络。并且结合非线性激活函数sigmoid定义前向传播的方向。class…

使用Kiro智能开发PYTHON应用程序

文章目录使用Kiro智能开发PYTHON应用程序1. 什么是KIRO&#xff1f;2. 获取KIRO3. 安装KIRO4. 用KIRO开发智能应用程序6. 推荐阅读使用Kiro智能开发PYTHON应用程序 By JacksonML KIRO是AWS亚马逊云科技旗下的独立AI产品&#xff0c;是用来开发生产级应用程序的AI IDE。 本文简…

UNIX网络编程笔记:高级套接字编程12-19

IPv4与IPv6互操作性&#xff1a;技术解析与实践指南 在网络协议演进进程中&#xff0c;IPv4向IPv6的过渡是绕不开的关键阶段。尽管IPv6凭借海量地址、更优扩展性成为发展方向&#xff0c;但IPv4设备与网络的广泛存在&#xff0c;使得二者的互操作性成为保障网络平滑演进、业务持…

同类软件对比(一):Visual Studio(IDE) VS Visual Studio Code

文章目录前言一、Visual Studio&#xff08;IDE&#xff09;是什么&#xff1f;二、Visual Studio Code 是什么&#xff1f;三、两者的相同点四、两者的不同点五、实战选择建议总结前言 Visual Studio 和 Visual Studio Code&#xff0c;它们一个是微软旗下的老牌霸主&#xf…

数据结构初阶:详解单链表(一)

&#x1f525;个人主页&#xff1a;胡萝卜3.0 &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》《数据结构》 《C干货分享》 ⭐️人生格言&#xff1a;不试试怎么知道自己行不行 目录 顺序表问题与思考 正文 一、单链表 1.…

塞尔达传说 旷野之息 PC/手机双端(The Legend of Zelda: Breath of the Wild)免安装中文版

网盘链接&#xff1a; 塞尔达传说 旷野之息 免安装中文版 名称&#xff1a;塞尔达传说 旷野之息 PC/手机双端 免安装中文版 描述&#xff1a;忘记你所知道的关于塞尔达传说游戏的一切。在《塞尔达传说&#xff1a;旷野之息》中步入一个充满发现、探索和冒险的世界&#xff0…

【分享开题答辩过程】一辆摩托车带来的通关副本攻略----《摩托车网上销售系统》开题答辩!!

一、开题陈述 各位评委老师好&#xff0c;我是A同学。 本次我设计与实现的是基于ASP.NET的摩托车网上销售系统&#xff0c;该系统以 MySQL 为后台数据库&#xff0c;主要解决当前社会背景下用户线下看车购车困难的问题&#xff0c;同时顺应摩托车网络营销的发展趋势&#xff…

python + unicorn + xgboost + pytorch 搭建机器学习训练平台遇到的问题

1.背景前段时间&#xff0c;使用 python unicorn xgboost pytorch 写了一个机器学习训练平台的后端服务&#xff0c;根据公司开发需要&#xff0c;需具备两种需求&#xff1a;1. 可以本地加载使用&#xff1b;2.支持web服务&#xff0c;2. 使用本地加载使用2.1 问题针对第一…

Odoo 非标项目型生产行业解决方案:专业、完整、开源

概述您眼前的这张应用蓝图&#xff0c;是由 Odoo 官方金牌服务商——开源智造 (OSCG) 凭借多年在非标项目型制造领域的深厚积累&#xff0c;精心设计的 Odoo 解决方案核心流程图。它不仅体现了我们对行业复杂业务场景的深刻理解&#xff0c;更彰显了我们将先进的管理理念与强大…

OpenAI 开源模型 gpt-oss 是在合成数据上训练的吗?一些合理推测

编者按&#xff1a; OpenAI 首次发布的开源大模型 gpt-oss 系列为何在基准测试中表现亮眼&#xff0c;却在实际应用后发现不如预期&#xff1f; 我们今天为大家带来的这篇文章&#xff0c;作者推测 OpenAI 的新开源模型本质上就是微软 Phi 模型的翻版&#xff0c;采用了相同的合…

Linux / 宝塔面板下 PHP OPcache 完整实践指南

Linux / 宝塔面板下 PHP OPcache 完整实践指南 OPcache 是 PHP 官方提供的字节码缓存扩展&#xff0c;通过缓存 PHP 脚本的编译结果&#xff0c;提高 PHP 执行效率。本文讲解从 检测 → 开启 → 使用 → 清理 → 排查问题 的全流程&#xff0c;同时针对宝塔面板界面不实用或无法…