sed编辑器
文章目录
- 一.sed命令基础
- 1.sed概念
- 2.sed的工作流程
- 3.命令格式
- 4.sed命令的常用选项
- 5.sed命令的操作符
- 二.sed命令的打印功能
- 1.打印文本文件内容
- 1.1 格式
- 1.2 默认打印方式
- 2.指定行打印
- 2.1 指定行号打印
- 2.2 只打印文件的行数
- 2.3 即打印文件的行号也打印文件的内容
- 2.4 即显示行也显示指定行内容
- 2.5 指定打印最后一行
- 2.6 指定行号的范围区间打印
- 2.7 奇偶行打印
- 2.8 对字符串过滤打印
- 3.sed使用正则表达式打印
- 3.1 sed基本正则表达式打印
- 3.1.1打印所有以字符串为开头的行
- 3.1.2 打印所有以字符串为结尾的行
- 3.1.3 从第几行开始打印到第一个字符串结尾结束
- 4.sed使用扩展正则表达式打印
- 三.sed命令的删除功能
- 1.通过行号进行删除
- 1.1 删除所有,什么也不打印
- 1.2 删除第几行,打印剩余内容
- 1.3 删除第几行到第几行,打印剩余内容
- 1.4 删除第几行到最后一行,打印剩余内容
- 1.5 除了第几行到第几行,其他全部删除
- 2.匹配字符串内容删除
- 2.1 删除包含某字符串的行
- 2.2 保留第几行到第几行之间的内容,其余删除
- 2.3 只保留第几行,其余删除
- 2.4 字符串搭配正则进行删除
- 四.sed命令的替换功能
- 1.sed命令进行文件替换
- 2.替换标记
- 3.字符串替换
- 3.1 指定替换内容,每行出现第几个替换
- 3.2 指定替换内容,所有都替换
- 3.3 以字符串为开头处理,把开头为空的替换为#
- 3.4 全部以#开头
- 4.特殊形式(字符)大小写替换
- 4.1 把所有小写字母都替换为大写——U&
- 4.2 把所有的大写字母都替换为小写——l&
- 4.3 文件内所有的首字母都换成大写——u&
- 5.整行替换
- 6.单字符替换
- 五.sed命令的添加功能
- 1.行添加
- 1.1 当前行的下一行添加
- 1.1.1 当前行的下一行添加
- 1.1.2 在最后的行后添加
- 1.2 当前行的上一行添加
- 1.2.1 当前行的上一行添加
- 1.2.2 在文件最后后面的行中添加
- 1.3 在行后读入文件内容
- 1.3.1指定行的下一行
- 1.3.2 先读取文件内容,然后再需要添加文件的末行插入读取的所有内容
- 六.sed的分组,以及字符串位置替换
- 1.分组替换字符
- 2.指定命令来对第二个文件的行进行处理——sed -f
- 2.1 文件内容替换
- 2.2 特殊格式替换
- 七.拓展
- 1.怎么解决sed命令处理容量大,或内容过多而导致执行效率慢的问题
- 2.删除文件内容但不删除文件名
- 3.删除空行的三种方法
- 4.将ifconfig-ens33 中的IP地址替换为10.10.10.10
- 5.只要版本号
- 6.查看指定时间内的日志文件(格式根据自己的日志格式复制)
一.sed命令基础
1.sed概念
sed命令是对文本内容进行增删改查,生效才会存入硬盘中,不然会存在缓冲区
sed -i————————生效,生成在文本文件当中
sed—————————临时模式,不会对文本内容发生变化,就在模式空间,用户读取之后结束
2.sed的工作流程
主要包括读取,执行和显示三个过程
(1)读取:标准输入)中读取一行内容并存储到临时的缓冲区中 (又称模式空间,pattern spacesed)。
(2)执行:默认情况下,所有的sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed 命令 将会在所有的行上依次执行
(3)显示:发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程将重复执行。
在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。
注意:默认情况下所有的sed命令都是在模式空间内执行的,因此输入的文件并不会发生任何变化,除非是用重定向存储输出。
3.命令格式
(1)sed -e ’操作‘ 文件1 文件2…
(2)sedsed -n-e ’操作‘ 文件1 文件2…
(3)sed -f 脚本文件 文件1 文件2…
(4)sed -i -e ’操作‘ 文件1 文件2…
4.sed命令的常用选项
-e或-expression=: |
---|
-f 或–file=:表示用指定的脚本文件来处理输入的文本文件。 |
-h 或–help:显示帮助。 |
-i 直接修改目标文本文件 慎用 |
-n 仅显示script处理后的结果 |
5.sed命令的操作符
常用选项 |
---|
s:替换,替换指定字符。 |
d:删除,删除选定的行。 |
a:增加,在当前行下面增加一行指定内容。 |
i:插入,在选定行上面插入一行指定内容。 |
c:替换,将选定行替换为指定内容。 |
y:字符转换,转换前后的字符长度必须相同。 |
p:打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,常和“-n”一起使用。 |
二.sed命令的打印功能
1.打印文本文件内容
1.1 格式
sed “ ” 要打印的文件名
sed '' /etc/fstab #查看文件内容
sed '' < /etc/fstab #可以支持重定向输入
cat /etc/passwd |sed '' #也可以支持管道符
例:
sed " " 123.txt #打印123.txt的内容
1.2 默认打印方式
格式:sed -e ‘p’ 文件名
sed -n ‘p’ 文件名
sed -e 'p' 123.txt #默认打印文件内容
sed -n 'p' 123.txt #过滤默认输出的重复一次只显示当前操作符打印出来的结果
2.指定行打印
2.1 指定行号打印
格式:sed -n ‘np’ 文件名
例:
sed -n '2p' 123.txt #指定当前文件第二行打印
2.2 只打印文件的行数
格式:sed -n ‘=’ 文件名
例:
sed -n '=' 123.txt #打印出123.txt文件里有多少行
2.3 即打印文件的行号也打印文件的内容
格式:sed -n ‘=;p’ 文件名
例:
sed -n '=;p' 123.txt #即打印出123.txt文件的行号也打印内容
2.4 即显示行也显示指定行内容
格式:sed -n ‘=;np’ 文件内容
例:
sed -n '=;3p' 123.txt #即显示第三行和第三行的内容
2.5 指定打印最后一行
格式:sed -n ‘$p’ 文件名
例:
sed -n '$p' 123.txt #指定打印123.txt的最后一行
2.6 指定行号的范围区间打印
格式:sed -n ‘n,np’ 文件名
例:
(1)指定行到行打印
sed -n '1,3p' 123.txt #指定123.txt文件的1-3行打印
(2)指定第几行到最后一行打印
格式:sed -n ‘n,$p’ 123.txt
例:
sed -n '5,$p' 123.txt #指定第五行到最后一行的内容
(3)打印第几行和最后一行
格式:sed -n ‘np;$p’ 文件名
例:
sed -n '5p;$p' 123.txt #指定打印第五行和最后一行
(4)打印第几行和第几行
格式:sed -n ‘np;np’ 文件名
例:
sed -n '2p;6p' 123.txt #指定打印第二行和第六行
(5)指定打印第几行往下几行
格式:sed -n ‘n,+np’ 文件名
例:
sed -n '2,+2p' 123.txt #指定打印第二行和第二行的后两行
(6)指定打印第几行到往下第几行
格式:sed -n ‘n,+np’ 文件名
例:
sed -n '2,4p' 123.txt #指定打印第2行到往下第4行
2.7 奇偶行打印
(1)打印出文件的奇数行
sed -n 'p;n' jishu.txt
(2)打印出文件的偶数行
sed -n 'p;n' oushu.txt
(3)即打印行号也打印出偶数行
sed -n '=;p;n' oushu.txt
2.8 对字符串过滤打印
格式:sed -n ‘/想要打印所包含行的字符串/p’ 文件名
例:
sed -n '/w/p' zfc.txt #打印所有包含w的行
sed -n '/btr/p' zfc.txt #打印btr这行
3.sed使用正则表达式打印
3.1 sed基本正则表达式打印
3.1.1打印所有以字符串为开头的行
格式:sed -n ‘/^打印的字符串/p’ 文件名
例:
sed -n '/^root/p' /etc/passwd #打印以root为开头的行
3.1.2 打印所有以字符串为结尾的行
格式:sed -n ‘/打印的字符串$/p’ 文件名
例:
sed -n '/bash$/p' /etc/passwd #打印以bash为结尾的行
3.1.3 从第几行开始打印到第一个字符串结尾结束
格式:sed -n ‘/打印的字符串$/p’ 文件名
例:
sed -n '40,/bash$/p' /etc/passwd #从第40行开始打印到第一个bash结尾结束
4.sed使用扩展正则表达式打印
sed -r 支持扩展正则表达式。同时在 使用{n}、{n,}、{n,m}时,括号{}前不需要加反斜杠\ 。
例:
sed -r -n '/(99:){2,}/p' /etc/passwd #包含有两个99:的内容所在行
sed -r -n '/^root|bash$/p' /etc/passwd #包换以root开头,或者以bsah结尾的内容所在行
三.sed命令的删除功能
sed -i 时会对文本进行实际操作(建议对目标文件先进行备份,再进行操作)
1.通过行号进行删除
1.1 删除所有,什么也不打印
格式:sed ‘d’ 文件内容
例:
sed 'd' 123.txt #删除123.txt文件的所有内容,什么也不打印
1.2 删除第几行,打印剩余内容
格式:sed -n ‘nd;p’ 文件名
例:
sed -n '3d;p' 123.txt #删除第三行,打印剩余的所有内容
1.3 删除第几行到第几行,打印剩余内容
格式:sed -n ‘n,nd;p’ 文件名
例:
sed -n '5,8d;p' 123.txt #删除5到8行,打印剩余的所有内容
1.4 删除第几行到最后一行,打印剩余内容
格式:sed -n ‘n,$d;p’ 文件名
例:
sed -n '5,$d;p' 123.txt #删除5到最后一行,打印剩余的所有内容
1.5 除了第几行到第几行,其他全部删除
格式:sed -n ‘n,n!d;p’ 文件名
例:
sed -n '4,6!d;p' 123.txt #除了4-6行,其他的全部删除
2.匹配字符串内容删除
2.1 删除包含某字符串的行
格式:sed ‘/删除的字符串/d’ 文件名
例:
sed '/one/d' 123.txt #删除包含one的行
2.2 保留第几行到第几行之间的内容,其余删除
格式:sed ‘/保留的第一个字符串/,/保留的第二个字符串/!d’ 文件名
例:
sed '/one/,/six/!d' 123.txt #除了one-six的行,其余的全部删除,反向删除
2.3 只保留第几行,其余删除
格式:sed ‘/保留的行/!d’ 文件名
例:
sed '/six/!d' 123.txt #除了six的行,其余的全部删除,反向删除
2.4 字符串搭配正则进行删除
格式:sed ‘/^$/d’ 文件名
例:
sed '/^$/d' test1.txt #通过^$,来删除空行
四.sed命令的替换功能
1.sed命令进行文件替换
(1)s:替换字符串
(2)c:整行替换
(3)y:字符替换,替换前后的字符串长度必须相同
2.替换标记
(1)数字:表明新字符串将替换第几处匹配的地方
(2)g:表面新字符串将会替换所有匹配的地方
(3)p:打印与替换命令匹配的行,与-n一起使用
(4)w文件:将替换的结果写入文件中
3.字符串替换
3.1 指定替换内容,每行出现第几个替换
格式:sed -n ‘s/要替换的字符串/替换后的字符串/np’ 文件名
例:
sed -n 's/root/test/p' /etc/passwd #指定第一个root,替换为test
sed -n 's/root/test/2p' /etc/passwd #指定第二个root,替换为了test
3.2 指定替换内容,所有都替换
格式:sed -n ‘s/要替换的字符串/替换后的字符串/gp’ 文件名
例:
sed -n 's/root/test/gp' /etc/passwd #所有的root都替换为test
3.3 以字符串为开头处理,把开头为空的替换为#
格式:sed -n '/^以什么为开头的字符串/ s/^/#/p’文件名
例:
sed -n '/^root/ s/^/#/p' /etc/passwd
3.4 全部以#开头
格式:sed -n '/ s/^/#/p’文件名
例:
sed -n 's/^/#/p' /etc/passwd
4.特殊形式(字符)大小写替换
4.1 把所有小写字母都替换为大写——U&
sed 's/[a-z]/\U&/g' test.txt
4.2 把所有的大写字母都替换为小写——l&
sed -i 's/[A-Z]/\l&/g' test.txt
4.3 文件内所有的首字母都换成大写——u&
sed -i 's/[a-z]/\u&/' test.txt
5.整行替换
格式:sed ‘/想要替换的内容/c 替换后的内容’ 文件名
例:
sed '/Qwer/c oneone' test.txt #将test.txt中的Qwer替换为oneone
6.单字符替换
使用y,是对单个字符进行替换,每个字符需要一一对应,不是整体替换。前后字符串长度需要一致,不然会报错
只要有匹配的单字符会全部替换
格式:sed ‘y/想要替换的单字符/替换过后的单字符/’ 文件名
例:
sed 'y/a/2/' test.txt #将a替换为2
五.sed命令的添加功能
1.行添加
1.1 当前行的下一行添加
a:在下一行添加内容
1.1.1 当前行的下一行添加
格式:sed ‘/添加的行/a 添加的内容’ 文件名
例:
sed '/three/a 123' test.txt #在test.txt文件的three行的下一行添加123
1.1.2 在最后的行后添加
格式:sed ‘$a 添加的内容’ 文件名
例:
sed '$a 123' test.txt #在test.txt文件的最后一行添加
1.2 当前行的上一行添加
i:在上一行插入内容
1.2.1 当前行的上一行添加
格式:sed ‘/添加的行/i 添加的内容’ 文件名
例:
sed '/three/i 123' test.txt #在test.txt文件的three行的上一行添加123
1.2.2 在文件最后后面的行中添加
格式:sed ‘$i 添加的内容’ 文件名
例:
sed '$i 123' test.txt #在test.txt的文件最后后面的行中插入123
1.3 在行后读入文件内容
r:在行后读入文件内容
1.3.1指定行的下一行
格式:sed ‘/指定的行/r 需要读取的文件’ 需要添加的文件名
例:
sed '/three/r 123.txt' test.txt #指定three行的下一行添加读取的内容
1.3.2 先读取文件内容,然后再需要添加文件的末行插入读取的所有内容
格式:sed ‘/$r 读取的文件’ 需要添加的文件名
例:
sed '$r 123.txt' test.txt #先读取123.txt内容,然后再到test.txt的末行插入读取的所有内容
六.sed的分组,以及字符串位置替换
1.分组替换字符
echo bbxx | sed -r 's/(bb)(xx)/\2\1/'
echo zzjjff | sed -r 's/(zz)(jj)(ff)/\3\1\2/'
echo 你喜欢我 | sed -r 's/(.)(.)(.)(.)/\4\3\2\1/'
2.指定命令来对第二个文件的行进行处理——sed -f
2.1 文件内容替换
sed -f 123.txt 456.txt #将第二个文件内容替换为第一个文件内容
2.2 特殊格式替换
sed -f test1.txt test2.txt
七.拓展
1.怎么解决sed命令处理容量大,或内容过多而导致执行效率慢的问题
使用split命令进行文件分割(按行分割)
2.删除文件内容但不删除文件名
(1)sed -i ‘d’ 文件名
(2)cat /dev/null > 文件名
3.删除空行的三种方法
(1)grep -v “^$” 文件名———————过滤出非空行
(2)cat 文件名 | tr -s ”\n"——————压缩换行符
(3)sed ‘/^$/d’ 文件名————————删除空行
4.将ifconfig-ens33 中的IP地址替换为10.10.10.10
cat /etc/sysconfig/network-scripts/ifcfg-ens33 | sed '/^IPADDR/c IPADDR=10.10.10.10'
5.只要版本号
cat bbh.txt | sed -r 's/(.*)-(.*)(\.jar)/\2/'
6.查看指定时间内的日志文件(格式根据自己的日志格式复制)
cat /var/log/messages | sed -n '/18:29:45/,/18:50:01 /p'
添加日期时间内的日志文件
cat /var/log/messages | sed -n '/Jun 6 18:40:01/,/Jun 6 18:50:01 /p'
相关文章:

sed编辑器
文章目录 一.sed命令基础1.sed概念2.sed的工作流程3.命令格式4.sed命令的常用选项5.sed命令的操作符 二.sed命令的打印功能1.打印文本文件内容1.1 格式1.2 默认打印方式 2.指定行打印2.1 指定行号打印2.2 只打印文件的行数2.3 即打印文件的行号也打印文件的内容2.4 即显示行也显…...
深入理解深度学习——正则化(Regularization):稀疏表示
分类目录:《深入理解深度学习》总目录 另一种策略是惩罚神经网络中的激活单元,稀疏化激活单元。这种策略间接地对模型参数施加了复杂惩罚。我们已经在《深入理解深度学习——正则化(Regularization):参数范数惩罚》中讨…...
【Android】分别用JAVA和Kotlin实现横向扫描的动画效果
Android 横向扫描的动画可以通过使用 ViewPropertyAnimator 和 ObjectAnimator 来实现。 首先,在 XML 布局文件中创建一个 ImageView,并设置其宽度为 0dp,高度为 match_parent。然后,创建一个横向的渐变色 Drawable,并…...

长尾词挖掘,如何选择精准的长尾词优化?
长尾词的挖掘也是一门大学问,它存在多种不同的方法。最常用的方法是把关键词直接放搜索引擎的搜索框搜索和使用长尾词挖掘工具这两种。 以运动水壶为例。 关键词直接放搜索引擎的搜索框搜索,结果如下: 使用长尾词挖掘工具,…...

Python相关环境变量配置和模拟手机app登录
【java环境变量配置】 接着,打开系统->高级系统设置->环境变量。新建一个JAVA_HOME C:\Program Files\Java\jdk1.8.0_201(这里是你的安装路径,最好复制粘贴) 然后在Path下添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 然后…...

c++ 11标准模板(STL) std::map(九)
定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…...
深入探索chatGPT插件:SceneXplain,Wolfram,和AppyPieAIAppBuilder
1. 引言 在这个日益依赖技术的世界中,AI插件已经成为了我们日常生活和工作的重要组成部分。在这篇博客中,我们将深入探索三个强大的AI插件:SceneXplain,Wolfram,和AppyPieAIAppBuilder,了解他们的功能&…...

华为OD机试真题B卷 Java 实现【停车场车辆统计】,附详细解题思路
一、题目描述 特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。 车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位&a…...

第二章:MySQL环境搭建
第二章:MySQL环境搭建 2.1:MySQL的下载、安装、配置 MySQL的四大版本 MySQL Community Server社区版本:开源免费、自由下载,但不提供官方技术支持,适用于大多数普通用户。MySQL Enterprise Edition企业版本࿱…...
生产环境之负载均衡LVS+keepalived方案(2)_LVS介绍
LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,linux内核2.6.X之后的版本默认已集成了LVS模块(内核模块名为:ipvs),实现了基于传输层的请求负载均衡调度方案,LVS支持的工作模…...
【parsel】------- PYTHON爬虫基础4
parsel 这个库可以对 HTML 和 XML 进行解析,并支持使用 XPath 和 CSS Selector 对内容进行提取和修改,同时它还融合了正则表达式提取的功能。 内容目录 from parsel import Selector提取节点提取 class 包含 item-0 的节点 提取文本获取提取到的所有 li…...

MySQL数据库从入门到精通学习第8天(表数据的查询)
表数据的查询 基本查询语句单表查询聚合函数查询多表连接查询子查询合并查询结果定义表和字段的别名使用正则表达式查询 基本查询语句 SELECT 语句非常的强大,是最常用的查询语句。他具有一个固定的格式,如下: SELECT 查询的内容 FROM 数据…...

什么是IPAM?如何使用IPAM来管理IP地址和DHCP?
在计算机网络中,IPAM(IP Address Management)是一种用于管理IP地址和DHCP(Dynamic Host Configuration Protocol)的工具或系统。IPAM旨在简化和集中管理IP地址分配、子网划分和DHCP配置等任务。本文将详细介绍IPAM的概…...

PCIE学习
目录 一、PCIE结构1、层次结构2、数据包TLPDLLP PCIE寄存器配置1、基址寄存器的作用2、基址寄存器的位置 三、PCIE读取数据 一、PCIE结构 1、层次结构 绝大多数的总线或者接口,都是采用分层实现的。PCIe也不例外,它的层次结构如下: PCIe定…...

商业智力,Social焕新|数说故事重磅发布“SocialGPT”,国内首个专注Social领域的商业大模型
AGI时代的到来,市场风云变幻,世界正在经历着一场技术革命的颠覆性洗礼。 2023年6月6日6时,数说故事正式对外发布数说故事“SocialGPT”,国内首个专注Social领域的商业大模型。数说故事“SocialGPT”大家昵称它为“社牛”大模型&a…...

STM32HAL库RS485-ModBus协议控制伺服电机
STM32HAL库RS485-ModBus协议控制伺服电机 一个月前,接手了一个学长的毕设小车,小车采用rs485通信的modbus协议驱动轮毂电机,与往常我学习的pwm控制电机方法大相径庭,在这里以这篇博客记录下该学习过程。 小车主要架构 电机型号 …...

【医学图像】图像分割系列.3 (uncertainty)
介绍几篇使用不确定性引导的医学图像分割论文:UA-MT(MICCAI2019),SSL4MIS(MICCAI2021),UG-MCL(AIIM2022). Uncertainty-aware Self-ensembling Model for Semi-supervise…...
Java有线程安全的set吗?
在Java中,有线程安全的Set实现。一个常用的线程安全的Set实现是ConcurrentSkipListSet。ConcurrentSkipListSet是一个有序的集合,基于跳表(SkipList)的数据结构实现。它提供了线程安全的操作,并且具有较好的性能。 接下来笔者用一段简单的Jav…...

《HelloGitHub》第 86 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …...

LDGRB-01 3BSE013177R1 将数字输入和继电器输出结合
LDGRB-01 3BSE013177R1包的一部分是全面的通信选项,包括Modbus主/从或CS31,这种产品很少提供。128kB的用户内存和0.1秒/指令的程序处理时间只是AC500-eCo令人印象深刻的性能的两个例子。除了与现有AC500系列的互操作性,AC500-eCo系统还使用基…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...