以下程序(when-changed)给出了可以在命令中使用的文件名%f
。如何才能从%f
获取没有文件扩展名的文件名?
这是我想要使用的命令:
when-changed *.scss -c sassc %f f%-min.css
它保存了一个文件名,如:layout.scss-min.css
我需要的只是layout-min.css
,如果可能的话。
答案 0 :(得分:2)
创建一个小shell脚本,为您调用sassc,而不是直接调用它:
#!/bin/bash
filename=$1
outfile="${filename%.*}" # Do your filename replacement here
sassc "$filename" "$outfile"
然后致电:
when-changed *.scss -c ./myscript.sh %f
答案 1 :(得分:0)
您无法在命令行上执行此操作。文件名并未真正放在命令行的%f
变量中。相反,您将%f
传递给更改时间,并且更改时自身将其替换为文件名。
更改source of when-changed以执行您想要的操作。例如,更改此部分:
def run_command(self, file):
os.system(self.command.replace('%f', file))
对此:
def run_command(self, file):
command = self.command
command = command.replace('%f', file)
command = command.replace('%c', file.replace('.scss', ''))
os.system(command)