linux shell中 与 有什么区别?

news/2024/12/16 14:43:39/文章来源:https://www.cnblogs.com/rtnb/p/18610107

 创建文件

[root@master-1 ~]# cat path.service
C:\\Program Files\\MyApp \
qwe \\
qq \\
az

需求:使用sed将 \\ 替换为 \

执行sed命令,并使用双引号" "

[root@master-1 ~]# sed -i "s/\\\\/\\/g" path.service
sed:-e 表达式 #1,字符 8:未终止的“s”命令

执行sed命令,并使用双引号 ' '

[root@master-1 ~]# sed -i 's/\\\\/\\/g' path.service

为什么在上面的命令中,单引号执行成功了,而双引号则失败?

问题解析:

这个问题的核心在于 双引号 (")单引号 (')sed 和 shell 中的解析方式不同。

差异分析:

  1. 单引号 (')

    • 单引号会将引号内的内容视为一个完整的字符串,原样传递给 sed,不会对其中的字符进行额外的解释或转义。
    • 示例
      • sed -i 's/\\\\/\\/g' path.service

        传递给 sed 的字符串是:

        s/\\\\/\\/g

        这个语法是 sed 能正确理解的。

        可以理解处理了两次,一次是shell,一次是sed。 

双引号 (")

  • 双引号会让 shell 先解析引号中的内容,然后再将解析后的结果传递给 sed
  • 在你的命令中:
sed -i "s/\\\\/\\/g" path.service

shell 会对双反斜杠 \\ 进行一次转义,结果是 s/\\/\/g,传递给 sed 后不符合预期的替换格式,因此失败。

具体区别的行为:

  • 单引号保留了 \\\\\\/ 的原始形式,sed 能正确解析它们为匹配 \\ 并替换为 \
  • 双引号导致 shell 提前处理反斜杠,破坏了原本的 sed 替换规则。

 

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

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

相关文章

Hyperledger Fabric 2.x 环境搭建

Hyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,与其他流行的分布式账本或区块链平台相比,它有一些主要的区别。 环境准备: Git 客户端 Golang 1.17.5以上版本 Docker 18.03以上版本 版本…

实验文档6

关于第6次实践课作业 实验结论 task4.c1 #define _CRT_SECURE_NO_WARNINGS2 #include <stdio.h>3 #define N 104 5 typedef struct {6 char isbn[20]; // isbn号7 char name[80]; // 书名8 char author[80]; // 作者9 double s…

实时协作+跨时区支持,在线文档的未来是什么?

在线文档协作如何突破跨境流程协作的瓶颈 在全球化的今天,越来越多的企业面临跨国、跨时区的协作挑战。跨境团队需要的不仅是语言和文化的融合,还需要高效的流程管理和信息同步工具,而在线文档协作正是破局的关键之一。 跨境协作的难点 跨境流程协作中,企业往往会遇到以下挑…

java中RSA加密解密的使用

作为常用的非对称加密算法,本篇文章大致记录一下,在java代码中如何生成RSA的密钥对以及加密解密的使用。 1、生成密钥对public class RSAUtils {// 填充方式public static final String RSA_ALGORITHM_NOPADDING = "RSA";public static final String RSA_ALGORITHM…

升降梯人数识别摄像机

升降梯人数识别摄像机是一种结合摄像技术与智能识别算法的设备,旨在监测升降梯厢内的人数,提供实时准确的人数统计信息。通过安装在升降梯厢内的摄像头,系统可以智能识别厢内的人数,并将数据传输至监控中心或手机APP等平台,帮助管理人员及时了解并控制升降梯的负荷情况。这…

首尔之春(2023)【蓝光原盘 / REMUX】【内封简繁特效字幕】电影百度云/夸克迅雷UC网盘资源链接下载

◎译  名 首尔之春/12.12: The Day/12.12:首尔之春(台) ◎片  名 서울의 봄 ◎年  代 2023 ◎产  地 韩国 ◎类  别 剧情 ◎语  言 韩语 ◎上映日期 2023-11-22(韩国) ◎片  长 141分钟 ◎导  演 金成洙 Sung-su Kim ◎编  剧 金成洙 Sung-su Kim…

多源最短路Floyd算法

多源最短路算法-Floyd 使用Floyd(弗洛伊德)算法,可以以 \(O(n^3)\) 的时间复杂度求出一张多源图的任意两点间的最短路径 一般采用邻接矩阵的方法来存储图: int g[N][N]; g[i][j]其中,g[i][j]的意义为第i个节点到第j个节点的权重 我们需要对邻接矩阵进行路径初始化,将自身…

推荐一款强大的开源物联网 Web 组态软件

前言 快速发展的物联网(IoT)领域,设备管理和监控的需求日益增长。为了满足这一需求并提供更高效的解决方案。 向大家推荐一款强大的开源物联网Web组态软件。这款软件不仅具备灵活的可视化配置功能,还提供了丰富的工具和接口,轻松实现设备集成、数据监控和远程管理。 项目介…

Win10 wsl 迁移到 D 盘

wsl 关闭wsl --shutdown查看系统wsl --list导出 tar 文件wsl --export Ubuntu-24.04 D:/export.tar删除C盘的虚拟机wsl --unregister Ubuntu-24.04导入新的虚拟机wsl --import Ubuntu-24.04 D:\wsl\ D:\export.tar --version 2查看状态直面挑战,躬身入局

PHP源码加密之php-beast

1、简介 php-beast可以对PHP源码文件进行加密,加密后的文件也可以正常的访问。2、安装php-beast# 下载php-beast wget https://github.com/liexusong/php-beast/archive/master.zip# 解压下载的文件 unzip master.zip# 进入解压后的目录 cd php-beast-master# ‌生成配置文件 …

ABB机器人3HAC17332-1电机维修攻略分享

ABB作为工业机器人制造商,其伺服电机是机器人执行精确动作的核心部件。伺服电机负责将电能转化为机械能,驱动机器人的关节和臂部运动。一旦伺服电机出现故障,将直接影响机器人的运行精度和稳定性。一、ABB机器人维修前准备在进行ABB机器人伺服电机维修之前,需要做好以下准备…

大话《权限设计》全篇,领略不同设计模式的魅力

说明该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,…