我有一个包含文件列表的目录,例如
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
我如何引用各个部分?因为我只需要“aaaaa”和“11111”进行 MySQL 查询?
答案1
要aaaaaa
使用cut
with.
作为分隔符:
echo $filename | cut -f 3 -d '.'
为了获得111111
,只需更改字段编号:
echo $filename | cut -f 4 -d '.'
要获取整个第二部分,可以使用 Bash 的内置字符串操作:
echo ${filename#*.name.}