首页 > 解决方案 > 如何提取分隔符前后的字符串并存储在mysql中?

问题描述

想要将包含以下结构的大量行的 txt 文件插入到具有两列的 mysql 表中:

random1:random2:random3:random4
random1:random2:random3:random4:random5
random1:random2
random1:random2:random3:random4:randomN
...

分隔符是“:”的地方

而“随机”代表一组随机字符。

在第一列中应该是字符串 random1

在第二列中应存储字符串 random2:random3:random4:randomN 的其余部分

要提取第一列的子字符串,已经尝试过:

echo "random1:random2:random3:random4:randomN" | awk -F":" '{print (NF>1)? $1 : ""}'

echo "random1:random2:random3:random4:randomN" | sed 's/:.*//'

echo "random1:random2:random3:random4:randomN" | cut -d ":" -f1

如何从第一个分隔符“:”中提取子字符串,直到行尾并将其存储在 mysql 表中?

先感谢您!

标签: mysqlbashawkgrepcut

解决方案


这是您解决方案的一部分(可能):

while IFS=: read -r first rest; do
    do_something_with "$first" "$rest"
done < colon-separated-file.txt

推荐阅读