awk一行和多行之间的转换

Table of Contents

 

 

很多时候我们需要把一行字符串按照一定的分割符切割成多行来打印,反之也经常碰到把多行字符串合并为一行显示(例如SQL语句操作多个userid,select * from user where mobile in (monile1,monile2,..........)),下面来给出解决方法

 

1  一行分散成多行显示

文件file的内容如下,

1 2 3 4 5 6

命令: awk  '{ for (i=1;i<=NF;i++) printf "%s\n",$i }' file

 

2  多行合并为一行显示

文件file的内容如下,

1

2

3

4

5

6

命令: awk '{ printf "%s "$0 }'