没错,这个是在52shell.com看到的........

网页加载失败幽默指南
本文以幽默诙谐的方式描述了网页加载失败时的场景,并提供了一系列恶搞的解决方案,包括清洗硬盘、撞击电脑主机等,旨在缓解用户因网页无法加载带来的烦躁情绪。

他妈的,该页居然无法显示~!!!

您正在查看的页面目前起了孢疹,基本上已经崩溃了。Web 站点遇到了一个极端傻B的技术困难,总之您再怎么调整您的浏览器设置都没用,除非清洗硬盘,建议方法:使用20摄氏度左右的雕牌肥皂水,请勿用来路不明的化学清洗剂,之后在新飞冰箱中保持恒温冷冻48小时以上,一般人我还不告诉他呢!

如果以上所说的清洗硬盘方法还是不可用的话, 强烈建议使用您的头部疯狂撞击电脑主机,(成功率级高)即可正常访问!问题出现了:叫你清洗硬盘和撞击电脑主机你又不干,
你啊,就知道刷,刷你妈个头啊,你有完没完啊!我已经说过该页无法显示了,你还要刷-刷-!刷-刷-!完全不理人家服务器受得了受不了,你再刷新我一刀捅死你!不想被捅死就点击底部的后退链接。

如果还是要刷,请尝试以下操作:

  • 猛击refresh.gif (82 字节)刷新按钮,或以后再试,警告:刷新显然没用。
  • 如果是在地址栏中键入地址,请确保其拼写正确,你个文盲!!
  • 要查看连接设置,请猛击工具菜单,然后猛击 Internet 选项。在连接选项卡上,猛击局域网设置。 这些设置应该与您所在的支部或 Internet我这样猪(ISP,I So Pig)所提供的相匹配。
  • 唉唉唉!你不要刷了,刷多了会犯了嗔戒的!你也太调皮了,我跟你说过,叫你不要乱刷新。刷新这么多次……你看我还没说完呢,你把键盘又给扔掉了!鼠标键盘虽然不是宝物,但你把它扔掉会污染环境。唉,要是砸到旺财呢,怎么办?就算没有砸到旺财,砸到那些小强也是不对的呀!
  • 如果您的爸爸妈妈允许,Microsoft Windows 可以检查您的蛋蛋是否有俩个并自动查找网络连接设置。
  • 默念“阿扁去死,阿扁去死!”40到45遍,然后猛踹电脑桌上的烟灰缸,找出前天抽剩的烟头3到5支,捡起其中牙印最深的一根,然后放到嘴里猛吸,如果冒烟的话,那么您就是创造节约型社会的好青年,为此,全世界的神经病患者向您致敬!恭喜您,您已经成为了全世界神经病患者心目中的偶像!
  • 有些资产阶级变态站点要求 128-位的连接安全性。单击帮助菜单,然后单击关于 Internet Explorer可以查看您所安装的安全性长度到底有多长,到底有多长,凭你的智商,我很难跟你说明白。
  • 如果您要到达某安全站,请确保您的安全长度设置能够支持的住。请猛击工具菜单,然后猛击 Internet 选项, 选择WG。或者在高级选项卡上,滚到安全部分,复选 SSL 2.0(Shit Shit lovely)、SSL(Shit Shit lovely) 3.0、TLS(Till Love Shit) 1.0、PCT(Pig Catch Tubal) 1.0 设置。
  • 默念“坚决抵制日货,绝不允许台湾独立”三遍,您生活中的一切难题将迎刃而解,但该页还是他妈的无法显示,真遗憾。
  • 算了,您还是猛击后退按钮,当这一切全都没发生吧。
  • 你是不是很想知道这是哪个家伙干的,小弟读过两年书,尘世中一个迷途小书僮!年过1/5百,住在府南河边,目前正在广征女友(这是本站第一个广告啊)。
  • 恭喜你今天来到此地,特送你一个奔驰牌国际通用IP地址作为留恋!据说这个奔驰牌IP浏览速度奇快,,就是这个东西拉: 70.47.103.44  

    找不到服务器或发生 DNS(Damn Numrable Shit)错误 Inmerbody Explore

 以上在52shell.com看到的....呵呵呵
<think> 我们之前讨论的是将字符串中的 `\_` 和 `\.` 转换为 `_` 和 `.`,但现在用户的问题变成了“字符串中的_ 和. 转化为 _”,即把字符串中的下划线(_)和点(.)都转化为下划线(_)。 注意:用户的问题中说的是“字符串中的_ 和. 转化为 _”,也就是说,将下划线(_)和点(.)都替换成下划线(_)。注意,这里没有提到反斜杠,所以是直接处理这两个字符。 因此,我们需要在字符串中: - 将每一个下划线(_)替换为下划线(_)—— 这实际上没有变化,所以可以忽略,或者理解为不需要操作。 - 将每一个点(.)替换为下划线(_)。 但是,用户要求将两者都转化为下划线。由于下划线本身就是下划线,所以实际上我们只需要将点(.)替换为下划线(_)。 然而,题目要求的是“字符串中的_ 和. 转化为 _”,意思可能是将这两个字符都替换成下划线。那么,对于下划线,我们不需要改变(因为已经是下划线),但为了统一处理,我们也可以将下划线替换成下划线(无变化),而将点替换成下划线。 另外,注意在shell中,点(.)是正则表达式中的特殊字符(匹配任意字符),所以在使用某些工具(如sed)时,需要对点进行转义。 方法1:使用sed 由于点(.)在正则表达式中表示任意单个字符,所以我们需要用反斜杠转义它,即`\.`表示字面的点。同时,下划线(_)在正则表达式中没有特殊含义,可以直接使用。 命令可以写为:sed 's/\./_/g' # 将点替换为下划线 但是,用户要求将_和.都转化为_,而_不需要改变,所以实际上只需要将点替换为下划线。因此,我们可以忽略下划线的转换。 所以,如果只需要替换点,那么: sed 's/\./_/g' 如果用户要求同时替换_和.,那么我们需要分别替换。但是,由于下划线替换为下划线没有变化,所以实际上还是只需要替换点。 方法2:使用Bash参数扩展 在Bash中,可以使用${var//pattern/replacement},其中pattern可以是一个字符。同样,点(.)在这里没有特殊含义,所以可以直接使用。 new_str=${original_str//./_} 注意:这里我们不需要处理下划线,因为下划线不需要改变。 但是,如果用户确实要求将下划线也转换(虽然结果不变),我们可以分别做两次替换,但没必要。所以,我们只需要替换点。 因此,根据用户的问题,我们只需要将字符串中的点(.)替换为下划线(_)。 示例: 输入字符串: "abc_def.ghi" 输出字符串: "abc_def_ghi" 如果用户的问题描述有误,实际是指将反斜杠加下划线和反斜杠加点替换为下划线,那么就是之前的问题。但根据当前问题,没有反斜杠。 所以,我们按照直接替换点来处理。 但是,用户的问题中写的是“字符串中的_ 和. 转化为 _”,那么严格来说,我们需要将两个字符都替换成下划线。对于下划线,替换为下划线(不变);对于点,替换为下划线。我们可以用两种方式: 方式一:只替换点(因为下划线不需要变)。 方式二:同时替换两个字符,但下划线替换为下划线是多余的。 因此,我们选择只替换点。 但是,如果用户可能希望将下划线也进行某种转换(比如用户可能写错了,其实是想将下划线转换为其他字符?),但问题明确要求转化为下划线,所以下划线保持不变。 所以,我们只替换点。 但是,为了严格满足问题要求(两个字符都转化为下划线),我们可以用一次替换完成两个字符的替换吗? 实际上,我们可以使用字符组(character class)来同时匹配下划线和点,然后替换为下划线。但是,这样会把下划线也替换为下划线(没有改变),同时也把点替换为下划线。所以,我们可以用: sed 's/[._]/_/g' 这个命令的意思是:将字符串中出现的任意一个下划线或点都替换为下划线。 这样,如果字符串中同时有下划线和点,都会变成下划线。例如: "a.b_c" 会变成 "a_b_c" 因此,我们提供两种方案: 方案A(只替换点):适用于用户实际意图是只将点替换为下划线(因为下划线不需要变)。 方案B(同时替换下划线和点):严格按照问题描述,将两个字符都替换为下划线(虽然下划线替换后不变)。 由于问题描述是“字符串中的_ 和. 转化为 _”,所以我们应该采用方案B,即同时替换两个字符。 示例代码: 方法1:使用sed(同时替换下划线和点) 注意:在正则表达式中,[._]表示匹配一个字符,这个字符可以是点或者下划线。 new_str=$(echo "$original_str" | sed 's/[._]/_/g') 方法2:使用Bash参数扩展(同时替换下划线和点) 但是,参数扩展不支持字符组,所以我们需要分别替换两次: new_str=${original_str//./_} new_str=${new_str//_/_} # 这个操作是多余的,可以省略 所以,实际上我们只需要替换点,因为下划线不需要改变。但是,如果我们真的需要同时替换两个字符(比如,如果用户要求将下划线也转换为其他字符,但这里不是),那么参数扩展无法在一次操作中完成字符组替换。 所以,在参数扩展中,我们只能分别替换。但是,由于下划线替换为下划线没有变化,所以实际上我们只需要替换点即可。 因此,如果使用参数扩展,我们只需要: new_str=${original_str//./_} 但是,这没有处理下划线(因为下划线不需要处理)。所以,无论用哪种方式,最终效果一样。 结论:我们只需要替换点。因为下划线已经是下划线,不需要改变。 然而,问题要求将两个字符都转化为下划线,所以我们必须确保两个字符都被处理。但是,下划线本身就是下划线,所以不需要额外操作。因此,我们只需要替换点。 但是,如果用户字符串中可能包含其他需要转换的情况?问题明确只有这两个字符。 所以,我们按照以下方式回答: 在 shell 中,将字符串中的下划线(_)和点(.)都转换为下划线(_),实际上只需要将点(.)转换为下划线(_),因为下划线已经是下划线。可以使用以下方法: 方法1:使用sed ```bash original_str="abc_def.ghi" new_str=$(echo "$original_str" | sed 's/\./_/g') echo "$new_str" # 输出:abc_def_ghi ``` 方法2:使用Bash参数扩展 ```bash original_str="abc_def.ghi" new_str=${original_str//./_} echo "$new_str" # 输出:abc_def_ghi ``` 注意:如果字符串中的点(.)在正则表达式中有特殊含义(在sed中),我们需要转义,但在参数扩展中,点没有特殊含义,所以直接使用即可。 另外,如果用户想同时处理多个不同的字符替换,可以使用字符组(在sed中)或者多次替换(在参数扩展中)。 但是,根据问题描述,我们只需要将点替换为下划线。 如果用户确实要求将两个字符都替换(包括下划线,虽然没变化),那么我们可以用sed的字符组,或者用参数扩展分别替换。但是,由于下划线替换为下划线没有变化,所以实际上和只替换点是一样的。 因此,我们提供上述方法。 然而,为了严格满足问题要求(两个字符都转化为下划线),我们使用sed的字符组方式,这样即使有其他字符需要一起替换(比如还有别的字符)也可以扩展。但这里只有两个字符。 所以,我们也可以这样写(使用sed的字符组): ```bash new_str=$(echo "$original_str" | sed 's/[._]/_/g') ``` 这样,无论是点还是下划线,都会替换为下划线(下划线替换后不变,点会变成下划线)。 所以,我们提供两种方式,并说明: 方法1(推荐sed字符组,一次替换两个字符): sed 's/[._]/_/g' 方法2(参数扩展,只替换点,因为下划线不需要替换): ${original_str//./_} 现在,我们按照要求提供回答。 注意:用户可能没有使用Bash,所以如果使用其他shell,参数扩展可能不可用,因此sed方法更通用。 因此,我们回答如下: 在 shell 中,将字符串中的下划线(_)和点(.)都转换为下划线(_)可以通过以下方法实现: ### 方法 1:使用 `sed` 命令(推荐) 使用 `sed` 的字符组匹配,将下划线和点都替换为下划线: ```bash original_str="abc_def.ghi" new_str=$(echo "$original_str" | sed 's/[._]/_/g') echo "$new_str" # 输出:abc_def_ghi ``` ### 方法 2:使用 Bash 参数扩展 由于下划线(_)转换为下划线不需要操作,实际只需将点(.)替换为下划线: ```bash original_str="abc_def.ghi" new_str=${original_str//./_} echo "$new_str" # 输出:abc_def_ghi ``` ### 注意 - 在 `sed` 中,`[._]` 表示匹配下划线或点,然后替换为下划线。 - 参数扩展方法仅适用于 Bash,且只替换点(因为下划线不需要转换),效果与方法1相同。 如果字符串中需要保留原有的下划线,只转换点,那么上述两种方法都能满足要求。 §§相关问题§§ 1. 如果要将字符串中的多个不同字符(如下划线、点、逗号)同时替换为一个字符,在sed命令中如何实现? 2. 使用Bash参数扩展进行字符串替换时,如何避免替换掉不需要的字符(如只替换第一个匹配项而不是全部)? 3.shell脚本中,处理包含特殊字符(如*、?、[、])的字符串替换时,有哪些注意事项? 4. 除了sed和参数扩展,还有哪些shell命令或工具可以高效地处理多字符替换? 5. 当需要替换的字符包含在正则表达式中有特殊含义的字符(如.、*、\等)时,在sed命令中应如何处理转义? </think>在 shell 中,将字符串中的下划线(`_`)和点(`.`)都转换为下划线(`_`),可以使用以下方法: ### 方法 1:使用 `sed` 命令 ```bash # 示例字符串 str="file_name.txt.backup" # 将 . 和 _ 都替换为 _ new_str=$(echo "$str" | sed 's/[._]/_/g') echo "$new_str" # 输出:file_name_txt_backup ``` - `[._]`:字符组匹配下划线或点 - `/_/g`:将所有匹配项替换为下划线 - 此方法同时处理两种字符的替换 ### 方法 2:使用 Bash 参数扩展 ```bash str="file_name.txt.backup" # 分两步替换 new_str=${str//./_} # 先将所有点替换为下划线 new_str=${new_str//_/_} # 下划线保持不变(此步可省略) echo "$new_str" # 输出:file_name_txt_backup ``` - `${var//old/new}`:全局替换语法 - 下划线替换为下划线是冗余操作,实际只需替换点 ### 注意事项: 1. **字符组语法**:在 `sed` 的 `[._]` 中,点(`.`)不需要转义,因为它在字符组内失去正则特殊含义 2. **点号处理**:在非字符组正则中,点号需要转义(`\.`) 3. **效率建议**:简单替换用参数扩展(更快),复杂模式用 `sed` 4. **特殊字符**:如果字符串包含空格等特殊字符,确保使用双引号包裹变量 ### 差异说明: - 下划线(`_`)替换为下划线没有实际变化 - 主要操作是将点(`.`)转换为下划线 - 最终效果:所有 `.` 和 `_` 都显示为 `_`
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值