MacOS 消除系统更新小红点(一键消除)

MacbookPro的系统版本是MacOS12,MacOS13出了之后底部菜单栏的系统设置总是会有一个小红点提示更新系统,强迫症想去除掉MacOS系统更新的这个小红点

终端一键消除

在终端输入:

vim ~/.zshrc

在末尾添加以下信息:

alias killdot='defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 && killall Dock'

输入:wq,按下enter键保存并退出

在终端输入:

killdot

桌面闪烁一下,红点自动消除

以后如果红点出现了,只要在终端输入killdot即可。

<think>好的,我现在要解决用户的问题,就是在Excel 2019中,将某一列中的MAC地址格式从“00-e0-4c-68-84-71”转换为“00e0-4c68-8471”。首先,我需要理解用户的需求。用户希望在同一行的另一列自动转换格式,也就是说,当原列输入带有短横线的MAC地址时,另一列能够自动显示为不带某些短横线的格式。 首先,我需要分析原格式和目标格式的差异。原格式是每个两个字符后有一个短横线,如00-e0-4c-68-84-71,而目标格式是合并前两段,变成00e0,接下来是4c68,然后是8471,所以中间的短横线被部分保留。看起来用户希望将原来的六段式MAC地址转换为三段式,每段四个字符,中间用短横线连接。也就是说,原格式是六个两字符组,用短横线分隔,目标格式是三个四字符组,用短横线分隔。例如,原格式中的00-e0-4c-68-84-71转换成00e0-4c68-8471。这意味着需要将前两段合并,中间两段合并,最后两段合并,并在合并后的每部分之间加短横线。 接下来,我需要考虑在Excel中如何实现这种转换。通常,处理字符串可以使用文本函数,比如LEFT、MID、RIGHT,或者使用SUBSTITUTE来替换特定位置的短横线。另外,可能需要结合CONCATENATE或者&运算符来拼接字符串。 首先,我需要将原始字符串中的短横线全部去掉,得到连续的字符,然后将它们分成每四个字符一组,再插入短横线。例如,原字符串是00-e0-4c-68-84-71,去掉所有短横线后是00e04c688471,然后分成00e0、4c68、8471,再用短横线连接。这种方法可能更简单,因为不需要考虑原来的分隔符位置,直接处理整个字符串。 不过,用户的原数据可能已经带有短横线,所以需要先去掉所有短横线,然后重新插入到正确的位置。或者,也可以直接截取原来的各个部分进行拼接。例如,将前两个段合并,中间两个段合并,最后两个段合并。比如,原数据是A1,那么公式可能是=LEFT(A1,2)&MID(A1,4,2)&"-"&MID(A1,7,2)&MID(A1,10,2)&"-"&MID(A1,13,2)&MID(A1,16,2)。但这种方法需要确定每个段的位置,可能比较繁琐,特别是如果原数据中的分隔符位置不固定的话,可能会有问题。 不过,假设原数据中的格式是固定的,即每个两字符段后面都有一个短横线,那么可以安全地使用位置来截取。例如,第一个段是前两个字符,第二个段是4-5字符(因为第三个字符是短横线),依此类推。例如,原数据在A1单元格: 00-e0-4c-68-84-71 去掉所有短横线后,可以变成00e04c688471,然后插入短横线在每四个字符之后。也就是位置1-4,5-8,9-12,但用户的目标是三个段,每段四个字符,所以应该是00e0-4c68-8471。所以总共有12个字符,分成三个四字符组。 所以步骤可能是: 1. 去除所有短横线,得到连续字符串。 2. 将连续字符串分成三个四字符组。 3. 用短横线连接这三个组。 在Excel中,可以使用SUBSTITUTE函数来去掉所有短横线。例如,=SUBSTITUTE(A1,"-",""),得到00e04c688471。 然后,使用LEFT、MID等函数来截取各部分。例如: =LEFT(SUBSTITUTE(A1,"-",""),4)&"-"&MID(SUBSTITUTE(A1,"-",""),5,4)&"-"&MID(SUBSTITUTE(A1,"-",""),9,4) 这样,LEFT部分取前四个字符(00e0),MID从第5个字符开始取四个(4c68),再从第9个字符取四个(8471),然后用短横线连接。但需要验证原字符串去掉短横线后的长度是否为12字符。例如,原字符串是00-e0-4c-68-84-71,去掉短横线后是00e04c688471,共12字符,所以上面的公式可行。 不过,用户提供的例子中,原字符串是00-e0-4c-68-84-71,去掉短横线后的长度确实是12字符,所以这个公式应该有效。但是如果输入的MAC地址有不同长度,比如有缺失,可能会出错,但用户可能确保输入正确。 另外,可能需要处理大小写,但用户没有提到,所以暂时忽略。 另外,可能还可以使用TEXT函数,但不确定是否适用。或者使用REPLACE函数来替换特定位置的字符,但可能比较复杂。 综上,解决方案应该是使用SUBSTITUTE去除所有短横线,然后使用LEFT、MID函数分割字符串,并用短横线连接。因此,最终的公式应该是: =LEFT(SUBSTITUTE(A1,"-",""),4)&"-"&MID(SUBSTITUTE(A1,"-",""),5,4)&"-"&MID(SUBSTITUTE(A1,"-",""),9,4) 测试这个公式是否正确。例如,原数据是00-e0-4c-68-84-71,替换后得到00e04c688471。LEFT(...,4)是00e0,MID从第5字符开始4个是4c68,从第9字符开始4个是8471,连接起来就是00e0-4c68-8471,符合用户要求。 另外,如果用户希望结果自动更新,当原数据改变时,公式所在单元格也会改变,所以这种方法可行。另外,也可以考虑使用快速填充功能,但需要手动操作,不够自动化。因此,使用公式更合适。 最后,用户可能需要将公式应用到整列,可以拖动填充柄复制公式。或者使用数组公式,但Excel 2019支持动态数组,可能可以用。 总结步骤: 1. 在目标单元格输入上述公式,假设原数据在A列,则在B1输入公式。 2. 拖动填充柄向下填充,应用到所有需要的行。 3. 如果原数据有异常,比如长度不足,公式可能显示错误,需要处理,但用户可能确保数据正确。 另外,检查是否有可能出现短横线数量不足的情况,比如原数据中的MAC地址可能没有五个短横线,导致替换后的长度不足12字符,但根据标准MAC地址格式,应该是六个两字符组,即五个短横线,所以SUBSTITUTE会去掉五个短横线,得到12字符。如果输入不符合规范,公式可能出错,但用户可能需要自行确保输入正确。 所以,最终的解决方案就是使用上述公式,用SUBSTITUTE和MID函数组合实现。</think>**解决方案** 通过 **Excel 公式** 直接实现格式转换,无需手动操作: --- ### 步骤详解 假设原始 MAC 地址在 **A列**,目标列在 **B列**: 1. **公式输入** 在目标单元格(例如 `B1`)输入以下公式: ```excel =LEFT(SUBSTITUTE(A1,"-",""),4)&"-"&MID(SUBSTITUTE(A1,"-",""),5,4)&"-"&MID(SUBSTITUTE(A1,"-",""),9,4) ``` 2. **公式逻辑拆解** - **SUBSTITUTE(A1,"-","")**:移除所有短横线,得到 `00e04c688471` - **LEFT(...,4)**:取前4位 → `00e0` - **MID(...,5,4)**:从第5位开始取4位 → `4c68` - **MID(...,9,4)**:从第9位开始取4位 → `8471` - 用 `&` 连接符组合三段并添加短横线 3. **拖动填充公式** 双击单元格右下角的小方块,自动填充下方所有行。 --- ### 效果演示 | 原始数据 (A列) | 转换结果 (B列) | |------------------------|-----------------------| | `00-e0-4c-68-84-71` | `00e0-4c68-8471` | | `11-aa-bb-22-33-cc` | `11aa-bb22-33cc` | --- ### 进阶方案(可选) 如果需频繁使用此功能,可通过 **自定义函数(VBA)** 实现: 1. 按 `Alt+F11` 打开 VBA 编辑器 2. 插入新模块,粘贴以下代码: ```vba Function FormatMAC(mac As String) As String mac = Replace(mac, "-", "") FormatMAC = Left(mac, 4) & "-" & Mid(mac, 5, 4) & "-" & Mid(mac, 9, 4) End Function ``` 3. 返回 Excel,在单元格直接使用 `=FormatMAC(A1)` --- **注意事项** - 原始数据需为标准 MAC 地址格式(6组双字符+短横线) - 若数据不规范,公式会返回错误值(如 `#VALUE!`),需先清洗数据
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值