在unix中转置列
我有一个Unix文件,其中包含这样的数据在unix中转置列,unix,awk,transpose,Unix,Awk,Transpose,我有一个Unix文件,其中包含这样的数据 1379545632, 1051908588, 229102020, 1202084378, 1102083491, 1882950083, 152212030, 1764071734, 1371766009, (仅供参考,正如您在上面看到的,两个数字之间没有空行。这只是因为这里的编辑器。它只是一个列,所有数字一个接一个) 我想把它转换成一行打印 像这样: 1379545632,10519
1379545632,
1051908588,
229102020,
1202084378,
1102083491,
1882950083,
152212030,
1764071734,
1371766009,
(仅供参考,正如您在上面看到的,两个数字之间没有空行。这只是因为这里的编辑器。它只是一个列,所有数字一个接一个)
我想把它转换成一行打印
像这样:
1379545632,1051908588,229102020,1202084378,1102083491,1882950083,152212030,1764071734,1371766009
同时删除最后一个逗号
有人能帮忙吗?我需要一个shell/awk解决方案。tr'\n'tr '\n' ' ' < file.txt
要删除最后一个逗号,您可以尝试使用GNU awk来删除多字符字符:
$ printf 'x,\ny,\nz,\n' | awk -v RS='^$' '{gsub(/\n|(,\n$)/,"")} 1'
x,y,z
ORS:输出记录分隔符。
每个记录将用此分隔符分隔。您只需使用编辑器
{}
按钮来正确格式化问题中的示例输入/输出。删除所有新行后,输出可能会重复,因此输出不再是POSIX文本文件,因此YMMV wrt将它传输到任何UNIX工具,包括sed,没问题,很好!例如,您可以使用cut
从grep输出中提取一个特定的列,并将其导入其中grep-i'create\sview'someddl.sql | cut-d'-f3 | tr'\n'|'
。这给了我一个所有视图的列表,我可以用它作为另一个grep的模式,看看谁在使用它们。
awk 'BEGIN { ORS="" } { print }' file