【问题标题】:How to use sed to replace a string in a file with a filename?如何使用 sed 将文件中的字符串替换为文件名?
【发布时间】:2020-01-30 21:00:31
【问题描述】:

有两个文件:

index.html

polyfills-es2015.XXXXXXXXXX.js

而这个XXXXXXXXXX部分文件名在构建应用程序后会发生变化,通常看起来像哈希b4f0746c57e75f62cef6

index.html 包含以下行:

<script src="polyfills-es2015.YYYYYYYYYYY.js"></script>

如何在 Linux 中使用 sedawk 将文件名的 XXXXXXXXXX 部分放在 index.html 中而不是字符串的 YYYYYYYYYYY 部分?

【问题讨论】:

    标签: string awk sed replace


    【解决方案1】:
    sed 's/polyfills-es2015.\..*\.js/'$(echo polyfills-es2015.*.js)'/' index.html
    

    使用echo 和通配符找出当前文件名。然后使用子shell $(..) 将此文件名放置在 sed 命令中。 sed 在这里查找 polyfills-es2015.\..*.js 正则表达式并将其替换为新文件。

    我确实认为关于 webdev 构建过程有比一些蹩脚的 unix 命令更好的解决方案,但如果这是唯一的事情,它可能会起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 2015-11-07
      • 2016-05-23
      • 2011-08-10
      • 1970-01-01
      • 2021-12-25
      相关资源
      最近更新 更多