Mysql

在循環中拆分文件名並引用每個部分

  • October 26, 2015

我有一個目錄,其中包含文件列表,例如

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 查詢?

aaaaaa使用cutwith.作為分隔符:

echo $filename | cut -f 3 -d '.'

要獲得111111,只需更改欄位編號:

echo $filename | cut -f 4 -d '.'

要獲得整個第二部分,您可以使用 Bash 的內置字元串操作:

echo ${filename#*.name.}

引用自:https://serverfault.com/questions/731747