我有shell脚本,它根据文本文件中的值生成sql查询。我的文字文件 具有如下值(逐行)
我的shell脚本就是这个。
#!/bin/sh
NAME="tableNames.txt"
COLUMNA="ca"
COLUMNB="cb"
cat $NAME | while read LINE
do
echo "CREATE TABLE \"$LINE\" (
forward_speed double precision,
backward_speed double precision
);"
done
LINE变量正确地从文本文件中获取值,但它有换行符,如何删除换行符。
答案 0 :(得分:6)
您可能在Windows机器上或使用dos行结尾的其他设置中生成了文本文件。您可以通过
解决这个问题cat $FILE | tr -d '\r' | while read LINE ...
cat $FILE | awk '{print $1}' | while read LINE ...
答案 1 :(得分:1)
如果tabeNames.txt
来自Windows,您应该执行dos2unix过滤器。