用linux中的现有列创建一个新列,并且输出的定界符与输入的定界符不同

时间:2019-02-15 14:56:04

标签: bash awk

新列将包含两个标记的平均值,并且仅显示平均值大于90且带有定界符“ |”的那些行。将不包含列标题或列名。

输入:

Manish#First#Meridian#95#98
Modak#Second#Meridian#83#75

输出:

Manish|First|Meridian|95|98|96.5

1 个答案:

答案 0 :(得分:0)

请您尝试以下。

awk 'BEGIN{FS="#";OFS="|"}{$(NF+1)=($(NF-1)+$NF)/2} $(NF)>90' Input_file

OR(awk以上的简短版本)

awk 'BEGIN{FS="#";OFS="|"}($(NF+1)=($(NF-1)+$NF)/2)>90' Input_file

输出如下。

Manish|First|Meridian|95|98|96.5