我需要比较文件中的不同列并创建一个存储的新列 所有这些列的最小值 例如test.txt
label col1 col2
A 0.999966 0.618701
输出
label col1 col2 smallest
A 0.999966 0.618701 0.618701
我试过
awk '{if($3 < $2) print}' test.txt > a
awk '{if($2 < $3) print}' test.txt > b
cat a b > c
任何人都可以在awk中提出任何建议
答案 0 :(得分:1)
awk '
NR == 1 { print $0, "smallest"; next }
{
min = $1
for (i=2; i<=NF; i++) {
if ($i < min) {
min = $i
}
}
print $0, min
}
' test.txt