我正在尝试编写一个脚本来通过一组删除破折号和空格的文件名,然后在文件扩展名之前添加一个后缀。下面是一组文件:将字符串操作分配给Bash中的变量的问题
[email protected]:~/matlab/chiroping/workspace/myFunctions/labellings/Panama20090322new$ ls Me*
Measurements 2009-03-22 Session6.xml Measurements Panama 2009-03-22 Session4.xml
Measurements Panama 2009-03-22 Session10.xml Measurements Panama 2009-03-22 Session5.xml
Measurements Panama 2009-03-22 Session1.xml Measurements Panama 2009-03-22 Session6.xml
Measurements Panama 2009-03-22 Session2.xml Measurements Panama 2009-03-22 Session7.xml
Measurements Panama 2009-03-22 Session3.xml Measurements Panama 2009-03-22 Session8.xml
所以这里的是通过一组文件的那张脚本,删除破折号和白色的空间,但是这是因为如果变量“VAR2”没有得到重置为表达下面。它最初设置为“tempSTR”,并保持如此。
[email protected]:~/matlab/chiroping/workspace/myFunctions/labellings/Panama20090322new$ for f in Me*;
do var1=${f//[ -]/}; var2= echo -n $var1 | cut -f1 -d '.';
suffix="new"; var3= echo $var2; done
Measurements20090322Session6
tempSTR
MeasurementsPanama20090322Session10
tempSTR
MeasurementsPanama20090322Session1
tempSTR
MeasurementsPanama20090322Session2
tempSTR
MeasurementsPanama20090322Session3
tempSTR
MeasurementsPanama20090322Session4
tempSTR
MeasurementsPanama20090322Session5
tempSTR
MeasurementsPanama20090322Session6
tempSTR
MeasurementsPanama20090322Session7
tempSTR
MeasurementsPanama20090322Session8
tempSTR
我认为这有什么不对这一行
var2= echo -n $var1 | cut -f1 -d '.';
试图VAR2设定打印出好的开始
最佳,
`var = echo“a”`在你的bash中工作吗?在我的它不是。 var =``echo“a”`` – khachik 2010-12-06 14:45:56