首页 > 解决方案 > 如何使用awk将第一行作为文本文件中的标题

问题描述

作为 csv 文件的输入如下所示

name,id no,marks in cc  
xyzc,10000,56   
ABCb,10001,75   
xyza,10000,56  
xyz1,10000,56  

预期的输出如下,即文本文件的分隔符也从“,”替换为“^”,并在第 1 行后添加了虚线。

name ^ id no ^ marks in cc  
...........................
xyzc ^ 10000 ^ 56   
ABCb ^ 10001 ^ 75   
xyza ^ 10000 ^ 56  
xyz1 ^ 10000 ^ 56      

我怎么能在awk中做这样的安排,谁能帮忙解决这个问题

标签: awksedgrep

解决方案


这可能对您有用(GNU sed):

sed 's/,/ ^ /g;1p;1s/././g' file

将所有,的 '替换为^'。打印第一行,然后用.'s 替换第一行。


推荐阅读