我使用一个简单的awk脚本来对第四列的分割中的值求和。没问题。
awk '{split($4,NM,"-");if ($10>1) {TGC+=NM[2]}}END{print TGC}' somefile.txt
当我尝试在BASH中循环它时,它会运行,但会给出一个答案。
for i in somedir; do echo $i; awk '{split($4,NM,"-");if ($10>1) {TGC+=NM[2]}}END{print TGC}' $i ;done
问题在于分裂中的引号 - 我如何正确地限定它以便awk识别分裂?
干杯 斯塔特勒
答案 0 :(得分:0)
我怀疑你打算让你的for循环检查somedir中的文件,而不是目录本身:
for i in somedir/*; do
echo "$i"
awk '
$10 > 1 {split($4, NM, "-"); TGC += NM[2]}
END {print TGC}
' "$i"
done