首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sed没有在变量中扩展*

sed 是一个流编辑器,用于对输入流(文件或管道)进行基本的文本转换。在 sed 中,* 是一个正则表达式元字符,表示前面的字符或组出现零次或多次。然而,当你在 sed 的替换命令中使用变量时,* 不会被自动扩展为文件名通配符,而是被视为普通字符。

如果你想在 sed 命令中使用变量,并且该变量包含 * 字符,你需要确保 * 被正确解释为通配符。这通常涉及到使用双引号而不是单引号来包围变量和表达式,因为双引号允许 shell 对通配符进行扩展。

例如,如果你有一个变量 $files 包含 *.txt,并且你想使用 sed 来编辑所有 .txt 文件,你可以这样做:

代码语言:txt
复制
files="*.txt"
sed -i 's/foo/bar/g' "$files"

在这个例子中,"$files" 使用双引号来确保 shell 将 * 扩展为当前目录下所有 .txt 文件的列表。

如果你遇到 sed 没有在变量中扩展 * 的问题,可能是因为以下原因:

  1. 变量被单引号包围,这阻止了 shell 对 * 进行通配符扩展。
  2. 变量中没有实际的 * 字符,或者 * 字符被错误地放置。

解决这个问题的方法是确保变量被双引号包围,并且 * 字符确实存在于变量中。如果你需要在脚本中动态构建包含通配符的变量,你可以使用 eval 命令来强制 shell 执行通配符扩展:

代码语言:txt
复制
files="*.txt"
eval "sed -i 's/foo/bar/g' $files"

请注意,使用 eval 可能会带来安全风险,因为它会执行字符串中的任何代码。因此,在使用 eval 时要格外小心,确保你信任变量的内容。

如果你在使用 sed 时遇到具体的错误或问题,请提供更多的上下文信息,以便我能提供更具体的帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 在Kubernetes集群中扩展CoreDNS

    用于调整Kubernetes集群中的CoreDNS资源/需求的指南 Chris O'Haver 我正在分享在Kubernetes(1.12)中使用CoreDNS(1.2.5)运行的一些测试结果,以便为将...除了在默认配置中测试CoreDNS之外,我还测试了CoreDNS并启用了可选的autopath插件。...这些测试在启用autopath时量化了内存/性能交易。 本文中的指南和公式基于GCE中的一组集群测试,您的环境可能会有所不同。...内存和Pod 在大规模Kubernetes集群中,CoreDNS的内存使用率主要受集群中Pod和服务数量的影响。 ?...使用autopath插件 CoreDNS中的autopath插件是一个减轻ClusterFirst搜索列表惩罚的选项。启用后,它会减少客户端在查找外部名称时进行的DNS查询次数。

    2.2K30

    虚拟变量在模型中的作用

    虚拟变量是什么 实际场景中,有很多现象不能单纯的进行定量描述,只能用例如“出现”“不出现”这样的形式进行描述,这种情况下就需要引入虚拟变量。...虚拟变量指的是:用成对数据如0和1 分别表示具备某种属性和不具备该种属性的变量,也叫作二进制变量、二分变量、分类变量以及哑变量。...模型中引入了虚拟变量,虽然模型看似变的略显复杂,但实际上模型变的更具有可描述性。...建模数据不符合假定怎么办 构建回归模型时,如果数据不符合假定,一般我首先考虑的是数据变换,如果无法找到合适的变换方式,则需要构建分段模型,即用虚拟变量表示模型中解释变量的不同区间,但分段点的划分还是要依赖经验的累积...例如购物场景中,买与不买可以构建逻辑回归模型,至于买多少则需要构建普通回归模型了。

    4.3K50

    在慢变量中寻找小趋势

    罗振宇在他的跨年演讲中重磅推荐的新书——何帆的《变量》,是我在2019年看完的第一本书。读完收获良多,因此就总结了一下,写下一篇读书笔记。...慢变量 何帆讲到,他所采用的预判未来趋势、展示历史面貌的方法就是:在慢变量中寻找小趋势。关于什么是慢变量,书和报告中都没有给出明确的定义,但举了不少例子。比如,为什么海上会有波浪?...贸易战也一样,虽然也具有一定破坏力,但并没有我们想象中那么恐怖。 应该再往深层去思考,为什么会出现贸易战?...在技术的演进过程中,应用技术是会推动核心技术的发展的。而且,随着市场需求的变化,应用技术也会随之变化,核心技术也同样要随之更新。...我们要明白,大部分新事物都是从旧事物中诞生的,大部分新事物都是由旧事物混搭的组合。所谓创新不是简单地弃旧扬新,而是不断地回到传统,在旧事物中重新发现新思想。

    2.2K10

    在 Bash 中获取 Python 模块变量列

    在 Bash 中获取 Python 模块的变量列表可以通过使用 python -c 来运行 Python 代码并输出变量名列表。...1、问题背景在编写 Bash 补全脚本时,需要获取已安装 Python 模块中与模式匹配的所有变量。为了避免解析注释等内容,希望仅使用 Python 相关功能。...使用 dir() 获取模块中的所有名称。使用 inspect 模块过滤出变量(排除函数、类、模块等)。...print(' '.join(variables)):将变量名列表以空格分隔的形式打印出来。执行结果在执行上述命令后,输出会是:x y z这表示 mymodule 中的三个变量 x、y、z。...扩展如果需要进一步处理输出内容,可以在 Bash 中将其保存为数组:variables=($(python -c "import mymoduleimport inspectvariables = [name

    9210

    怎样在Ubuntu中设置环境变量

    单击屏幕左上角的Ubuntu图标,在弹出的窗口中点击搜索栏,输入“terminal”, 稍等片刻,终端就会赫然在目!二话不说,直接点击! 然后打开环境设置文件。...在终端中输入"sudo gedit /etc/profile",回车,然后输入管理员密码后回车,即可打开。 加入环境变量设置语句。...Linux系统中,设置环境变量的语句是: export 变量名>=变量的值> 我们只需在这里新开一行,按照这个格式填写即可。...回到终端,输入"source /etc/profile",回车,即可让我们的环境变量生效。 最后,检验一下效果! 我们用echo回显命令,看看环境变量有没有生效。...不必担心,重启系统,让环境变量的设置完全生效。 注意事项 设置的环境变量名不能与系统中已有的相同,如PATH,否则会导致系统出问题!

    9.8K10

    在Perl中扩展C库(1):XS语言(更新中)

    1 前言 XS是Perl与C的胶水语言,通过它能在Perl中创建方法,以此扩展C库中的函数或新定义的C函数,详情可参阅《官方手册:perlxs》。...Perl中,通常有以下两种用途: 指示变量为函数返回值 指示参量列表中的变量为出参 在那些没有包含CODE:或PPCODE:章节的简单函数中,RETVAL变量会被自动指示为函数出返回值,而在其它情况下,...中的表现即是更新其变量的值。...由于没有CODE:章节,因此RETVAL变量默认被作为为函数的返回值定义并使用。 3.7 关键字:NO_OUTPUT NO_OUTPUT放置的位置是XSUB的开头。...这种风格是贴近Perl风格的,即把一个带有返回值的C函数,改为一个没有返回值但会抛出异常的Perl函数。 3.8 章节:CODE 该章节用于复杂的XSUB,在章节中写入一些C语句。

    3.7K20

    在PHP中操作文件的扩展属性

    在PHP中操作文件的扩展属性 在操作系统的文件中,还存在着一种我们可以自己定义的文件属性。这些属性不是保存在文件内容中,也不是直接可以通过 ls -al 所能看到的内容。...它们可以将一个键值对信息永久得关联到文件上,一般现在的 Linux 系统都支持这样的文件扩展属性的功能。在操作系统中我们可以通过 setfattr、 getfattr、 attr 这些命令来操作它们。...文件的扩展属性有命名空间的概念,PHP 中也相应地为我们提供了 普通(user)命名空间 和 XATTR_ROOT(root命令空间) 两种形式。...总结 今天的内容非常地简单浅显,这个文件的扩展属性的功能说实话也是看到 PHP 中有这个功能扩展才回去查看了 Linux 系统中的相关文档。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/9.在PHP中操作文件的扩展属性.php 参考文档

    2.2K20

    FFmpeg代码导读——HEVC在RTMP中的扩展

    HEVC在RTMP中的扩展 为推进HEVC视频编码格式在直播方案中的落地,经过CDN联盟讨论,并和主流云服务厂商达成一致,规范了HEVC在RTMP/FLV中的扩展,具体修改内容见下。...4.1 FLV规范扩展 HEVC为视频编码格式,因此对FLV规范的扩展,只集中在Video Tag,其它部分,无任何改动。...由第二章节的阐述可知,FLV的解复用和复用功能代码分别在libavformt/flvdec.c和libavformat/flvenc.c中,扩展后的修改也都集中在这两个文件。...4.2.1 编码类型定义 libavformat/flv.h中按照VideoTagHeader中的CodecID定义了一组视频编码格式的枚举值,扩展后的枚举定义如下: enum { FLV_CODECID_H263...而HVCC 的参数集存储在extradata中(带外传输),使用NALU长度(固定字节,通常为4字节,从extradata中解析)分隔NAL。

    1.7K20

    在Kubernetes中负载均衡和扩展长连接

    Kubernetes 服务中的负载均衡 Kubernetes 服务不存在。 没有进程监听服务的 IP 地址和端口。...长连接无法在 Kubernetes 中开箱即用地扩展 从前端到后端启动的每个 HTTP 请求都会打开并关闭一个新的 TCP 连接。...此时,在两个 Pod 之间建立了持久连接。 红色 Pod 的任何后续请求都会重复使用现有的打开连接。 因此,您现在获得了更好的延迟和吞吐量,但失去了扩展后端的能力。...无头服务没有分配的 IP 地址,它只是一种收集 Pod IP 地址和端口(也称为端点)的机制。所有其他服务都建立在无头服务之上。...在最好的情况下,会打开到两个服务器的两个持久连接。其余的服务器根本没有被使用。 如果两个服务器无法处理客户端流量,水平扩展将无济于事。

    21710

    解决在etcporfile下设置环境变量以后zsh没有起效的问题

    问题1: 今天在添加java的环境变量的时候,我在/etc/profile添加了环境变量,因为我使用的是zsh,在source /etc/profile以后,zsh的主题和插件都没有了,java -version...以后出现旗标信息,以为可以了,但是没有主题就很难受,重启shell。...java -version提示没有此命令,懵~ 推测问题原因: 由于在终端中source /etc/profile只是让本shell进程执行,相当于只是在本shell执行了环境变量,所以重启之后依旧失效...推测解决方法: 在~/.zshrc中添加source /etc/profile 重启shell 输入java -version 完美解决!...所以推测还有一种方法,在/etc/zsh/zprofile下面export相应的环境变量. 问题2: 在后面的使用中,发现切换到root用户的时候,java的环境变量又不生效了。

    4.3K10
    领券