小编foo*_*ise的帖子

如何在 sed 命令中使用文件名?

我有许多.conf相同且位于同一目录中的文件,但文件名不同。在每个唯一命名的.conf文件中,我想用文件名替换文件中的一组字符。例如:

当前在所有文件中:

datafname = example.nex
ofprefix = best.example
Run Code Online (Sandbox Code Playgroud)

理想输出:

文档名称: 25.conf

datafname = 25.nex
ofprefix = best.25
Run Code Online (Sandbox Code Playgroud)

文档名称: 26.conf

datafname = 26.nex
ofprefix = best.26
Run Code Online (Sandbox Code Playgroud)

我想我可以sed用来遍历所有这些文件,以使用以下内容查找文本字符串并将其替换为文件名:

sed -i conf 's/example/echo $f/g' *
Run Code Online (Sandbox Code Playgroud)

但这不能正常工作。有人会碰巧对如何做到这一点提出建议吗?

command-line bash sed text-processing

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×1

command-line ×1

sed ×1

text-processing ×1