1

我正在阅读一个文本文件,它看起来像这样:-

5.201270    5.201270    01

695.222611  695.222611  02

1258.098134 1258.098134 03

1565.198897 1565.198897 04

并解析输入以发送到 ffmpeg

while read -r thisFinish finish nom
do
    outFile="${nom}.mp3"
    ffmpeg -i  "$inpFile" "$outFile"
done <"$labelFile"

我猜是因为$nom从文件的行尾读取,所以有一个CRLF,所以它没有发送.mp3ffmpeg. 如何从中剥离行尾数据$nom?所以它发送命令行ffmpeg -i "$inpFile" 01.mp3

4

1 回答 1

2

对此进行了测试linux

首先设置carriage return成一个变量

 x=$'\r'

然后使用参数替换将其删除${nom}

 while read -r thisFinish finish nom; 
 do
     outfile="${nom%$x}.mp3"
     ffmpeg -i  "$inpFile" "$outFile"
 done < "$labelFile"
于 2013-06-07T14:11:13.323 回答