У меня есть каталог со списком файлов, например
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
с помощью cut
с участием .
используется в качестве разделителя:
echo $filename | cut -f 3 -d '.'
Чтобы получить просто 111111
, просто измените номер поля:
echo $filename | cut -f 4 -d '.'
Чтобы получить всю вторую часть, вы можете использовать встроенные в Bash манипуляции со строками:
echo ${filename#*.name.}