我做了这段代码,如果你不插入任何列,而不是打印“请插入列”,我希望打印所有列的最小值、最大值和平均值,就好像你已经在 incial 代码中插入了所有内容一样。
我试着写
if["$col"=""]; then $col=`seq 5 20` 
但它不起作用。请问有什么帮助吗??
谢谢!
#!/bin/bash
for arg; do
    case "$1" in
        -[0-9]*) col+="${1#-}"",";;
        -g) shift
            gene="$1";;
        [a-z]*) file="$1";;
    esac
    shift
done
echo col="$col" gene="$gene" file="$file"
OLDIFS=$IFS
IFS=","; 
echo "$col"
if ["$col" == ""]; 
    then echo "Insert columns please"   
else
    for i in $col; do   
    echo
    echo minim columna "$i"= `grep "$gene" "$file" | tr -s '  ' ' ' |tr -s ',' '.' | cut -d ' ' -f"$i" | sort -n | head -1`
    echo maxim columna "$i"= `grep "$gene" "$file" | tr -s '  ' ' ' |tr -s ',' '.' | cut -d ' ' -f"$i" | sort -n | tail -1`
    echo average columna "$i"= `grep "$gene" "$file" | tr -s '  ' ' ' |tr -s ',' '.' | cut -d ' ' -f"$i" | awk '{sum+=$1} END {print sum/NR}'`
    shift
    done
fi
IFS=$OLDIFS