shell脚本:行列转换

Mybatis中写sql,如select,会涉及到一长串列名。

`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) COLLATE utf8mb4_bin,
`mainImg` varchar(255) COLLATE utf8mb4_bin NOT NULL,
...

现想将table描述中的列名转为以逗号分割的一行字符串,如:id,name,mainImg,...

操作脚本是:

awk '{a=a$1","}END{print a}' filename

注:$1表示第一列,大概意思是:

for(String s : firstColumnList)
    sb.append(s).append(",")
print sb.toString();

另外由行转为列,如

id,name,mainImg,...

==》

id
name
mainImg
...

shell命令:

sed 's/,/
/g' filename

即简单将逗号替换为换行即可

原文地址:https://www.cnblogs.com/chongchong88/p/5563024.html