使用 awk 或 sed 将行变成列

使用 awk 或 sed 将行变成列

最近,我正在寻找脚本来执行此操作:

This;
Is;
First;
Line;

并使其像:

This Is First Line

答案1

既不是 awk 也不是 sed,但是怎么样tr

printf 'This;\nIs;\nFirst;\nLine;\n' | 
    tr -s ';[:space:]' '[ *]'

输出:This is First Line

答案2

您的示例显示字段之间的空格,但您提到“CSV”,这意味着逗号分隔值...我使用了空格。如果需要逗号, 只需更改/ /为即可。/,/

输入文件包含:

This;
Is;
First;
Line;
This;
Is;
Second;
Line;

剧本:

 sed -nr 'N; N; N; s/;\n/ /g; s/;$//p' file

输出:

This Is First Line
This Is Second Line

相关内容