awk转义英文的单引号

我这有个小需求,把一个文本的内容导入到mysql的表中。我没有使用load,使用的是insert来做的,如下:

文本内容:

  1  中国        156   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1261.jpg 
  2  美国        840   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1277.jpg 
  3  日本        392   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1278.jpg 
  4  德国        280   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1267.jpg 
  5  俄罗斯      810   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1268.jpg 
  6  英国        826   http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1286.jpg

使用awk来转成insert语句:

cat b.txt |awk ‘{print "insert into all_countries values ("$1",\047"$2"\047,\047"$3"\047,\047"$4"\047);"}‘
insert into all_countries values (1,‘中国‘,‘156‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1261.jpg‘);
insert into all_countries values (2,‘美国‘,‘840‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1277.jpg‘);
insert into all_countries values (3,‘日本‘,‘392‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1278.jpg‘);
insert into all_countries values (4,‘德国‘,‘280‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1267.jpg‘);
insert into all_countries values (5,‘俄罗斯‘,‘810‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1268.jpg‘);
insert into all_countries values (6,‘英国‘,‘826‘,‘http://data.10086.cn/fs/nmpfs/media/p/2/2/6/pubAttachment/20160718/1286.jpg‘);
时间: 2024-10-11 08:36:34

awk转义英文的单引号的相关文章

多命令顺序执行,单引号,双引号,反引号,转义符

多命令顺序执行 ; 多命令顺序执行 && 逻辑与 前命令执行ok,后面进行 || 逻辑或 前命令执行失败 后面执行 | 命令1|命令2 命令1结果,让命令来处理通配符 ?匹配任意一个字符 * 匹配0个或者多个任意字符 [] 匹配中括号中的任意一个字符 [-] 匹配括号中的任意一个字符 [^] 逻辑非 匹配不是中括号中的任意一个字符 [[email protected] biji]# aa=666 [[email protected] biji]# echo $aa #打印变量aa666[[

oracle中的转义符 - 在oracle中插入单引号与'&'

1.单引号 那么如果字段的内容中包含了单引号要怎么插入呢?例如:It's fine.方法同样有三·方法一:使用转义字符   SQL > Select 'test' || '''' from dual;   注意:这里的''''四个单引号是什么意思呢?首先第一个和最后一个都是Oracle中的字符串连接符,这个没有异议.那么第二个'和第三'又表示什么意思呢?第二个'是一个转义字符           第三个'才是我们真正的内容·方法二:同样是使用转义字符,只不过方式不同而已   SQL > Sel

sqli-lab 第一题 单引号 error based single quotes

一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输出不同的用户名和密码 2.进一步了解 每一次都会有不同的账号密码出来,当然肯定不能这样简单的访问. 既然题目说了存在单引号的错误,那就来试一下http://localhost/Less-1/?id=%27 没毛病报错了,说明单引号会被算入sql语句中 假设一下,这个sql语句是这样构造的: $sql

linux操作系统-给文本添加 ' -单引号,一般转成CSV格式时使用

[[email protected] ~]# cat 1.txt1ms2ms3ms4ms5ms [[email protected] ~]# cat 1.txt | awk '{print $1"\047"}'1ms'2ms'3ms'4ms'5ms' [[email protected] ~]# cat 1.txt | awk '{print $1"\047"}' > 2.txt[[email protected] ~]# cat 2.txt1ms'2ms'3

单引号,双引号 和 heredoc 初始化php字符串之间的区别

php中的字符串指的是字符的序列,可以通过三种方式初始化:单引号.双引号和使用here document(heredoc) 形式. 一:单引号时 ①:需要转义的特殊字符:反斜杠和单引号. ②:因为php不会检查单引号字符串中的插入变量和任何转义序列,所以相比,单引号字符串直观和速度快. 常用的转义序列: 二:双引号 ①:能识别双引号字符串的单引号,不需要转义 ②:能够识别插入的变脸和表中的转义序列

PHP json字符串对特殊字符处理(单引号,双引号)

前言:form表单用POST,GET等方式提交数据到后台,后台用PHP接收 提交的数据含有 """."'","\"(双引号,单引号,反斜线),新版PHP(magic_quotes_gpc 在php.ini 设置为ON时,自动addslashes()进行转义.5.3废弃,5.4移除,都需要自己用addslashes()进行转义)都需要自己用addslashes()添加转义. PHP接受的form表单提交过来的数据,需先用stripcsla

Shell中的单引号(‘)双引号(”)和反引号(·)

在bash中,$.*.?.[.].'.".`.\.有特殊的含义.类似于编译器的预编译过程,bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统调用. 其中,反引号类似于函数调用,而不仅仅是简单的文本替换及匹配. 命令行中,被单引号引用的部分,其中所有的特殊字符按照普通字符解释: 双引号引用的部分,仅解释$(美元符号).\(\n \t除外).`(反引号),解释后的文本仅按照普通文字处理(同单引号). 反引号相当于命令替换,引用的部分优先执行

shell中的双引号,单引号,反引号

在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中).例如: $ string=’$PATH’ $ echo $string $PATH 可见$保持了其本身的含义,作为普通字符出现. 双引号 “ 双引号用于保持引号内所有字符的字面值(回

每日linux命令学习-引用符号(反斜杠\,单引号'',双引号"")

引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(''),双引号(""). 单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展.转义符和命令替换.单引号保护双引号,双引号保护单引号. 1. 反斜杠 反斜杠通过解析器将1个字符转化为引用符号或转义. 1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出. 2)在双引号内使用反斜杠,主要用于美元符