原文件

# cat tablelist.txt
Schema |        Name         |   Type   |   Owner   
--------+---------------------+----------+------------
 public | dept           | table    | postgres
 public | job         | table    | postgres
 public | client        | table    | postgres
 

列表内容

#cat tablelist.txt|grep 'public'
 public | dept           | table    | postgres
 public | job         | table    | postgres
 public | client        | table    | postgres

打印列去除前后一个或若干个空格或tab制表符
 #cat tablelist.txt|grep 'public'|awk -F '|' '{print $2}'|awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1'
 dept          
 job        
 client       
 

添加前后字符

# cat tablelist.txt|grep 'public'|awk -F '|' '{print $2}'|awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1'|sed 's/^/grant all privileges on /g'|sed 's/$/ to dbauser;/g'
grant all privileges on dept to dbauser;
grant all privileges on job to dbauser;
grant all privileges on client to dbauser;
 

 

 

 

cat tablelist.txt|awk -F '|' '{print $2}'|grep 'ape*'|awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1'|sed 's/^/grant all privileges on /g'|sed 's/$/ to jobinsight;/g'
显示所有文件》打印第二列》 打印带有ape的行     》去除字符前后一个或者若干个空格或者制表符》添加列表的前导》添加列表的后缀字符