省略 slug 的文件扩展名

Omit file extension from slug

我正在使用这个 bash 脚本在前面的内容中添加一个 markdown 文件名作为 slug。但是,我想省略扩展名 .md 并仅保留名称,例如foo.md我保留foo。谁能告诉我如何使这个脚本工作?

for f in $(grep --include=*.md -riL "slug:" /your_directory/); 
do sed -i "/date:.*/aslug: \/$(basename $f)\/" $f;
done

我的 Ubuntu 机器上 basename 的版本会去掉一个后缀,如果你提供的话,例如

basename path/to/some.md .md
#=> some

尝试相应地更改您的 sed 命令:

for f in $(grep --include=*.md -riL "slug:" /your_directory/); do
    sed -i "/date:.*/aslug: \/$(basename $f .md)\/" $f;
done