Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
批处理文件在bash中处理以更改正确的输出名称_Bash - Fatal编程技术网

批处理文件在bash中处理以更改正确的输出名称

批处理文件在bash中处理以更改正确的输出名称,bash,Bash,我想使用bash执行一系列作业 我在下面写了一个剧本 for fname in data/*/*.pcm do FrontEnd "$fname" "`dirname $fname`/`basename $fname`.mfc" done 但当原始文件为aaa.pcm时,输出文件类似于aaa.pcm.mfc 我想输出aaa.mfc 我应该在哪里修复此代码?嗯,使用basename命令的后缀选项应该很方便,即.pcm for fname in data/*/*.pcm do Fr

我想使用bash执行一系列作业

我在下面写了一个剧本

for fname in data/*/*.pcm
do
    FrontEnd "$fname" "`dirname $fname`/`basename $fname`.mfc"
done
但当原始文件为aaa.pcm时,输出文件类似于aaa.pcm.mfc

我想输出aaa.mfc


我应该在哪里修复此代码?

嗯,使用
basename
命令的后缀选项应该很方便,即
.pcm

for fname in data/*/*.pcm
do
    FrontEnd "$fname" "`dirname $fname`/`basename $fname .pcm`.mfc"
done

查看
操作字符串
()


我突然想到,这可能是在超级用户上,真的。尽管你可能会说“${fname%.pcm}.mfc”
”。
#!/usr/bin/env bash

for fname in data/*/*.pcm
do
    FrontEnd "$fname" "${fname%.*}.mfc"
done