gpt4 book ai didi

css - 如何在具有许多子目录的目录中自动将数据 uri 嵌入到 css 文件中?

转载 作者:太空宇宙 更新时间:2023-11-04 10:57:21 25 4
gpt4 key购买 nike

我正在使用 cssembed将 css 文件中的所有图像引用编码为 base64,并用更改替换原始 css 文件。但是,我想要做的是自动处理我的文件夹中包含许多子文件夹/子目录的所有 css 文件。
我尝试了以下方法:

java -jar cssembed-0.4.5.jar *.css > *.css

但它会产生以下输出:

bash: *.css: ambiguous redirect

我也试过

java -jar cssembed-0.4.5.jar *.css

但这只会在终端输出结果,不会用编码位替换文件。

如何解决?有什么建议吗?

注意:我正在尝试在 Ubuntu 终端上执行此操作。

最佳答案

您也可以使用 find 找到所有子目录中的所有文件:

find -name "*.css" -exec java -jar cssembed-0.4.5.jar '{}' > tmp \; -exec mv tmp '{}' \;

这里的 tmp 是写入的临时文件,这是必需的,因为当您使用 > 时,您正在写入的文件会立即被截断。第二个 -exec 仅在第一个成功返回时运行,用 tmp 的内容覆盖原始文件。

如果上面的代码不适合你,也许你可以试试这个:

find -name "*.css" -exec sh -c 'java -jar cssembed-0.4.5.jar "$0" > tmp && mv tmp "$0"' '{}' \;

这会为找到的每个文件调用一个单独的 shell。 $0 是已找到的文件的名称。

关于css - 如何在具有许多子目录的目录中自动将数据 uri 嵌入到 css 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28349494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com