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

时间:2014-12-10 05:03:49

标签: bash

我想用bash执行一堆工作。

我在下面写了一个剧本。

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

但是当原文是aaa.pcm时,输出文件就像aaa.pcm.mfc。

我想输出aaa.mfc。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

查看Manipulating Stringshttp://tldp.org/LDP/abs/html/string-manipulation.html

#!/usr/bin/env bash

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