我正在使用Bash脚本逐行读取文本文件,其中包含特殊字符(正则表达式)。当我使用echo "${SOME_VAR}"
时,它不会显示文本。
我熟悉Prevent * to be expanded in the bash script。
如何按原样显示和使用文字?
更新 文本(TSV)文件包含类似于(最后一个条目是psql查询)的元组
bathroom bathroom select name from photos where name ~* '\mbathroom((s)?|(''s)?)\M';
我正在按如下方式阅读CSV:
tail -n+2 text.file | while IFS=$'\t' read x y z
do
echo "${z}"
done
给出输出
select name from photos where name ~* 'mbathroom((s)?|(''s)?)M');
请注意'\'缺少
答案 0 :(得分:3)
尝试将-r
标记与read
:
tail -n+2 text.file | while IFS=$'\t' read -r x y z
do
echo "${z}"
done
来自read
手册页:
-r不要以任何特殊方式处理反斜杠字符。将每个反斜杠视为输入行的一部分。