将带有空列的行添加到制表符分隔文件中

时间:2013-02-18 03:24:51

标签: linux bash shell awk

我有一些带有不同列号的制表符分隔数据文件。我想为这些文件添加标题行,标题行仅在第一列中包含“ID”,但标题行的总列号应与文件相同。我可以用一些linux命令吗?非常感谢!!

2 个答案:

答案 0 :(得分:2)

for file in *
do
   awk 'NR==1{hdr=$0; gsub(/[^\t]/,"",hdr); print "ID" hdr}1' "$file" > tmp &&
   mv tmp "$file"
done

答案 1 :(得分:1)

sed -i '1 { h; s/[^\t]//g; s/^/ID/; p; g; }' *.tsv

复制第一行,删除所有非标签(清除字段内容),粘贴“ID”,然后打印此行加上原始。