read line and remove newline character using shell script

Issue

I have shell script which generate sql queries based on a values in text file. My text file
has values as follows (line by line)
enter image description here

my shell script is this.

#!/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 variable get the value from textfile correctly but it has newline character how do i remove new line character.

Solution

You probably generated the text file on a windows machine or some other setting with dos line endings. You can fix that by either

  • converting the file to unix line endings with dos2unix
  • deleting ‘\r’ characters: cat $FILE | tr -d '\r' | while read LINE ...
  • use a utility like awk to grab the first field: cat $FILE | awk '{print $1}' | while read LINE ...

Answered By – SheetJS

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published