如何添加一行或用awk或sed替换第一行

时间:2014-03-14 03:58:45

标签: linux bash sed awk

我想知道如何使用awk

来插入一行

目前我创建了这个脚本:

awk -F'\t' 'BEGIN {OFS="\t";} { print $1,$3,$11,"10"; }' boinc.txt | sed 1d 

,输出为:

enter image description here

效果很好!

但是,我想在输出的开头添加一行,指定标题名称,如"键,价格,条形码,天数"

期望的输出将是这样的:

+------------------------------------+
|    key   price   barcode   days    |
+------------------------------------+
| 16112   $23.94  5014682600194   10 |
| 16126   $1.99   019688104122    10 |
| 16152   $7.99   099923118527    10 |
| 16178   $8.99   3366750130396   10 |
| 16233   $5.99   7318590001615   10 |
| 16236   $6.99   410965078691    10 |
| 16257   $8.99   7318590000397   10 |
| 16279   $5.99   7318590000113   10 |
| 16282   $5.99   7318590001387   10 |
| 16318   $6.99   723721898120    10 |
+------------------------------------+

1 个答案:

答案 0 :(得分:3)

试试这个:

awk '
BEGIN { FS = OFS = "\t"; print "key", "price", "barcode", "days" } 
NR > 1 { print $1, $3, $11, "10" }' boinc.txt 

注意:如果您只是告诉sed使用awk

跳过第一行,则不需要NR>1