I have code like this, which processes a CSV file:
#!/bin/bash
while read line
do
variable=$(echo $line | awk -F, '{print $2}')
echo $variable
done < ./file.csv
If the CSV file contains any \, when I run this command, the output text does not show the \.
How can I ensure that \ is not deleted?
The reason for this behaviour is that the
readbuiltin uses\as escape character. The-rflag disables this behaviour.So, this should work:
You should also place
"..."around things like$(...)and variables, like