awk的部分没有具体讲是因为这事儿太细致了, 只要当作这是一种“固定用法”, 养成习惯 最外层用单引号 而 内层用双引号 就完事儿了,
就能避免绝大多数情况下的错误....要说区别的话就是shell和awk对单双引号的处理是不一样的....这句话意思就是, 如果你用双引号, shell会在awk处理之前就把$2给展开了, 那么awk识别的时候就出错了, 就得不到你要的结果了....为了避免这种shell把awk活儿给提前抢了的问题, 最外层用单引号就好了....这就是为啥最后awk回没有结果的原因.**
在②中, 因为使用的单引号, $0不会被shell展开, 其含义仍是awk内的含义.