shell脚本逐行处理文本,含空格,中文问题
2022/2/10 7:16:04
本文主要是介绍shell脚本逐行处理文本,含空格,中文问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
示例 :
#文本中含空格及中文。需求为逐行处理数据,插入sql中
$ cat newdata.txt
18632206773 BQEX-QUANYUWEI001 王安琪
18660210976 BQEX-SUNCHENHAO001 赵越
18618570937 BQEX-ZHANGPING017 张萍
18618570332 BQTIANZIHUI 田子惠
18632207539 BQWANGSHUANG316 盖铁真
18618570785 BQWANGYIP 王亦平
18604053858 BQYANGLIU291 杨柳
16648180368 BQYUNNALA855 云娜拉
18660221105 BQZHANGSHIJIN246 张世瑾
#!/bin/bash
cat /dev/null > /home/rebuy/sqlcreate/a.sql
IFS_old=$IFS
IFS=$'\r\n' #如无中文字符,IFS=$'\n' 即可解决空格问题
for i in `cat /home/rebuy/sqlcreate/newdata.txt` ; do
USER=`echo $i |awk '{print $3}'`
PHONE=`echo $i |awk '{print $1}'`
cat >> a.sql << EOF
update manage_wechat_personal_company_relation set USER_NICK_NAME="$USER",USER_REAL_NAME="$USER",CREATE_TIME=CREATE_TIME where MOBILE="$PHONE";
update manage_customer_bind set wxname="$USER",CREATE_TIME=CREATE_TIME where MOBILE="$PHONE";
update sys_ai_user_company set name="$USER",CREATE_TIME=CREATE_TIME where username="$PHONE";
update wxf_mission_user_record set USER_NAME="$USER",CREATE_TIME=CREATE_TIME where USER_ID="$PHONE";
EOF
done
IFS=$IFS_old
这篇关于shell脚本逐行处理文本,含空格,中文问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现