首页 > 其他分享 >sed中变量引用的几种方式

sed中变量引用的几种方式

时间:2024-11-24 22:56:13浏览次数:5  
标签:En 变量 Space echo centos7 sed 几种 root

时间:2024.11.24

  • 写脚本的时候发现一个关于sed引用变量的问题

变量中有空格时,赋值必须加引号

[root@centos7 ~]# var1=NoSpace
[root@centos7 ~]# var2=With Space
-bash: Space: command not found
[root@centos7 ~]# var2='With Space'
[root@centos7 ~]# var3="With Space"
[root@centos7 ~]# echo ${var1}
NoSpace
[root@centos7 ~]# echo ${var2}
With Space
[root@centos7 ~]# echo ${var3}
With Space

sed语句一对双引号 " " 在最外侧,直接 ${var} 引用变量 ,最方便

[root@centos7 ~]# echo 1 | sed -En "s/1/${var1}/p"
NoSpace
[root@centos7 ~]# echo 1 | sed -En "s/1/${var2}/p"
With Space
[root@centos7 ~]# echo 1 | sed -En "s/1/${var3}/p"
With Space

sed语句一对单引号 ' ' 在最外侧,外单内双 '"${var}"' 引用变量,通用性强

[root@centos7 ~]# echo 1 | sed -En 's/1/'"${var1}"'/p'
NoSpace
[root@centos7 ~]# echo 1 | sed -En 's/1/'"${var2}"'/p'
With Space
[root@centos7 ~]# echo 1 | sed -En 's/1/'"${var3}"'/p'
With Space

sed语句一对单引号 ' ' 在最外侧, 三对单引号 '''${var}''' 引用变量,变量中含有空格会报错,和变量赋值时使用 单引号'' 还是 双引号"" 无关。

[root@centos7 ~]# echo 1 | sed -En 's/1/'''${var1}'''/p'
NoSpace
[root@centos7 ~]# echo 1 | sed -En 's/1/'''${var2}'''/p'
sed: -e expression #1, char 8: unterminated `s' command
[root@centos7 ~]# echo 1 | sed -En 's/1/'''${var3}'''/p'
sed: -e expression #1, char 8: unterminated `s' command
  • 写脚本的时候一直纳闷为啥之前能用现在不能用了,搞了两个小时查出来问题了,记录下。

标签:En,变量,Space,echo,centos7,sed,几种,root
From: https://www.cnblogs.com/liwei1987/p/18566561

相关文章

  • 【大数据学习 | Spark-Core】广播变量和累加器
    1.共享变量Spark两种共享变量:广播变量(broadcastvariable)与累加器(accumulator)。累加器用来对信息进行聚合,相当于mapreduce中的counter;而广播变量用来高效分发较大的对象,相当于semijoin中的DistributedCache。共享变量出现的原因:我们传递给Spark的函数,如map(),或者filter()......
  • pytorch运行错误:RuntimeError: a leaf Variable that requires grad is being used in
    tensor张量参与的运算,都会生成计算图,哪怕其中只有一个tensor,剩下的也都会被强制类型转换因此每一步要分清实在构建计算图还是在更新值。每一个tensor分为grad梯度和data。grad也是一个tensor。如果要更新,务必确保参与运算的每一个元素都是值(非tensor)出现报错的原因就是更新......
  • 24最新多目标(MORBMO_PSORF)基于粒子群算法优化随机森林的多目标红嘴蓝鹊优化算法自变
    接代码定制,算法改进等任意多目标都可以用(目标个数可变)含约束的多目标优化vs不含约束的多目标优化带具体数学表达式(白箱)vs不带具体数学表达式的(灰箱)连续版本的多目标参数寻优vs离散版本的多目标参数寻优连续+离散组合版本的多目标参数寻优白箱模型+灰箱模型组合版本的多目......
  • 24最新多目标(MOCOA_PSORF)粒子群算法优化随机森林的多目标浣熊算法自变量寻优(反推最
    接代码定制,算法改进等任意多目标都可以用(目标个数可变)含约束的多目标优化vs不含约束的多目标优化带具体数学表达式(白箱)vs不带具体数学表达式的(灰箱)连续版本的多目标参数寻优vs离散版本的多目标参数寻优连续+离散组合版本的多目标参数寻优白箱模型+灰箱模型组合版本的多目......
  • 题解:[ARC188C] Honest or Liar or Confused
    乍一看以为是3-SAT不可做,动动脑子发现是2-SAT(鉴于本题解书写时洛谷题面暂无中文翻译,为避免可能的歧义或困惑,先对本题解中的译法进行约定:英文题面中“honestvillager”或日文题面中“正直者”译为“诚实村民”。英文题面中“liar”或日文题面中“嘘つき”译为“撒谎村民”......
  • 044[词根溯源]declaration_变量含义_meaning_声明
    变量含义_meaning_声明_declaration回忆上次内容上次做出了ascii码表  添加图片注释,不超过140字(可选) 通过控制缩进完成循环结构条件结构 循环变量num序号不断增大字符不断变化 python如何表示现实......
  • [ARC188C] Honest or Liar or Confused
    扩展域并查集+带权并查集。题意中给的是骗子与否和糊涂与否,似乎有多个二元关系。观察结果:如果一个人不糊涂,那么\(C=0\)代表他们同是诚实的或者都是骗子;\(C=1\)代表他们的诚实与否不同。这时我们就可以不在意这个人是否诚实了,我们就去关系人与人之间的相对关系。若这个人......
  • 类变量与实例变量
    一、类变量(如这里的各个以类名直接引用的变量)共享性:类变量在类的所有实例之间共享。无论创建多少个APIView的实例,它们都访问相同的类变量值。作用域:在类的层面定义,整个类以及类的所有实例都可以访问。修改影响:如果在一个地方修改了类变量的值,所有实例以及后续创建的实例都会受......
  • oneplus6线刷、trwp、magisk(apatch)、LSPosed、Shamiko、Hide My Applist
    oneplus6线刷android10.0.1oneplus6线刷包(官方android10.0.1)下载、线刷教程:OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip启用开发者模式设置/连续点击6次版本号:启用开发者模式设置/开发者模式/{打开usb调试,禁止系统自动更新}设置/禁止自动......
  • 理解原子变量之四:可见性、memory_order_acquire与 memory_order_release
    在理解原子变量之二:从volatile到内存序-进一步的认识-CSDN博客里的实例3里面,我们看到,如果在一个线程里修改原子变量done,另一个线程读取done时,就会看到这个变化。这就是原子变量的可见性。其实这个认识是不全面的。在std::memory_order-cppreference.com里面这样描述可见性:......