我正在尝试在Bash脚本中生成一个.csv文件。请考虑以下代码:
#!/bin/bash
for f1 in *_8_kHz.wav
do
for f2 in *_8_kHz.wav
do
# echo "pesq +8000 $f1 $f2"
echo -n `pesq +8000 $f1 $f2 | grep Prediction | rev | cut -b1-5 | rev`
done
echo
done当然,除了每一行都以逗号结尾外,这是可行的。下面是示例输出:
4.500,1.029,1.651,1.475,1.698,1.706,
1.550,4.500,1.477,1.148,1.788,1.478,
1.251,0.958,4.500,1.472,2.091,1.800,
0.961,1.154,1.550,4.500,1.702,1.501,
1.194,0.974,1.356,1.206,4.500,1.626,
0.857,0.960,1.091,1.064,2.012,4.500,省略这些后缀逗号最有效的方法是什么?
发布于 2014-12-05 22:45:53
以下内容是否足够有效?
echo -n `pesq +8000 $f1 $f2 | grep Prediction | rev | cut -b1-5 | rev` | sed 's/,$//'它使用sed删除行$末尾之前的最后一个,。
发布于 2014-12-05 22:49:38
来自https://stackoverflow.com/a/18262725/2796606
foo=`pesq +8000 $f1 $f2 | grep Prediction | rev | cut -b1-5 | rev`
echo -n ${foo%?}https://stackoverflow.com/questions/27325802
复制相似问题