1 既然sed不能修改换行符,那就是在使用sed之前,把换行符干掉。干掉换行符,可以使用tr和xargs命令。
#使用xargs命令干掉换行符
awk '{print $2}' user1.txt |xargs
#使用tr命令干掉换行符
awk '{print $2}' user1.txt |tr "\n" " "
2 使用sed命令将空格替换成",",命令如下:
awk '{print $2}' user1.txt |xargs |sed 's/ /","/g'
3 但是开头和结尾少了一个双引号,解决方案如下:
echo '"'`awk '{print $2}' user1.txt |xargs |sed 's/ /","/g'`'"'
4 同时需要注意 awk 在拼接截取的内容和 双引号 单引号 拼接 转义问题
{} 只能使用 单引号
awk -F '{print $1}'
单引号的转义
echo aaa | awk '{print "select * from A where name='\''TOM'\''"}'
双引号的转义
echo "a a a" | awk -F" " '{print "select * from A where name=\""$2"TOM\""}'
转载地址:
http://www.findme.wang/blog/detail/id/310.html
https://blog.csdn.net/wqq_721/article/details/7626201