1.问题
我想要遍历一个文件中所有的表名,以每个表名创建分区
#!/bin/bash
dir=/data/yzw/formal/handle/load_formal_data
filenames=`cat $dir/formal_table_name`
for filename in $filenames
do
echo "load data local inpath '$dir/$filename' \
into table ods.ods_formal partition(filename='$filename');" >>$dir/formal.sql
done
echo "FINISHED"
输出如下,只有最后一行正常
后来发现是因为formal_table_name这个文件是从windows直接上传到节点的,windows换行符和linux不同。
2.相关知识点
查看一个文件是否为windows文件
用vim 查看 :sed ff ,显示doc则为windows文件,显示unix则为linux格式
可以使用:set ff=nuix转换成linux格式