在半冒号前替换一个字符串

时间:2014-03-27 13:54:03

标签: bash sed awk

我有几个文件,它们是这样开始的:

unit,s_adj,partner,stk_flow,indic,geo\time;aaaa;2222;

time,s_adj,partner,stk_flow,lolo,geo\time;bbb;2222;

我想用新结果YEAR

替换分号前的第一次出现

所需的输出是:

YEAR;aaaa;2222;

YEAR;bbb;2222;

我尝试使用以下命令行,但它似乎没有做我想要的

awk -F ";" 'NR==1 {$1=""; print "year"}' input_file

欢迎您的建议。

最佳。

2 个答案:

答案 0 :(得分:2)

试试这个:

sed 's/[^;]*/YEAR/' file

如果您只想在第一行进行替换:

sed '1s/[^;]*/YEAR/' file

答案 1 :(得分:0)

你也可以这样做:

awk '{$1="YEAR"}1' OFS=\; FS=\; input-file