我有 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 变量正确地从文本文件中获取值,但它有换行符我如何删除换行符。
最佳答案
您可能是在 Windows 机器上或其他带有 dos 行结尾的设置上生成了文本文件。您可以通过以下任一方法解决此问题
- 将文件转换为 unix 行以 dos2unix 结尾
- 删除“\r”字符:
cat $FILE | tr -d '\r' |在阅读 LINE ...
- 使用 awk 之类的实用程序获取第一个字段:
cat $FILE | awk '{print $1}' |在阅读 LINE ...
关于linux - 使用 shell 脚本读取行并删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19583956/