我有一个目录中的文件列表,例如
file.name.aaaaaa.111111 file.name.bbbbbb.222222 file.name.cccccc.333333
我需要一种方法来获取每个文件,将其分割为“。” 然后使用每个部分它将被传递给一个mysql查询。
我有以下几点:
for file in $localdir/file.name.* do filename=`basename "$file"` for i in $(echo $filename | tr "." "\n") do echo $i done done
我怎样才能参考个别部分? 因为我只需要MySQL查询的“aaaaa”和“11111”?
为了得到aaaaaa使用cut . 被用作分隔符:
echo $filename | cut -f 3 -d '.'
为了得到111111 ,只需更改字段号:
echo $filename | cut -f 4 -d '.'
要获得整个第二部分,可以使用Bash的内置string操作:
echo ${filename#*.name.}