Linux/用宏替换旧字符串

标签 linux bash

我在 linux 中使用 next 来替换字符串:

sed -i 's/old-word/new-word/g' *.txt

问题是我的新词是宏定义的:

d=$(date +"%Y:%m:%d")

我试试下一个:

sed -i 's/old-word/$d/g' *.txt

但它用“$d”代替了正确的日期。

最佳答案

单引号不展开变量值,使用双引号:

sed -i "s/old-word/$d/g" *.txt

Check the manual here.

关于Linux/用宏替换旧字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16829253/

相关文章:

linux - 镜像字符串

c - 在 Linux 中获取类型的对齐方式

macos - 无法在 Terminal.app OSX 上使用 Ctrl+A 和 Ctrl+E(bash 键绑定(bind))

python - CircleCi - Azure Cli - 部署失败

bash - 将特定列的值的文件拆分为单独的文件,并包含标题

bash,用另一个变量替换部分变量

linux - 如何回显包含双引号的文本

linux - 将文本 append 到管道文件

python - 在python中运行一个进程到/dev/null

macos - 我可以将命令行脚本转换为 AppleScript 吗?