Завершено использованием команды
wget -O **URL** | awk **file suffix** | cut **delimiter1** | cut **delimiter2** > filenames.txt
затем я просто прошелся по этому файлу, чтобы загрузить файлы по одному:
while read FILE; do **commands**; done <filenames.txt
Не слишком изящно, но это сработало!
awk '
PASS==1{
if (FNR==2){ min=max=$5; next }
min=($5 < min ? $5 : min)
max=($5 > max ? $5 : max)
next
}
FNR==1{ threshold=(max - ((max - min) / 50)) }
FNR>1 { $5=($5 >= threshold) }
1
' PASS=1 file PASS=2 file
Чтение входного файла за два прохода.
Первый проход :Определить минимальное и максимальное значение 5-го поля.
Второй проход :Определите пороговое значение для первых 2% значений в первой записи. На любых других записях установите 5-е поле на 0
или 1
в зависимости от того, превышает ли поле пороговое значение. Затем распечатайте запись.
Выход:
CHR BP SNP CM AN1
1 15558213 rs2845371 0 1
1 15558230 rs16981507 0 0
1 15558586 rs5993924 0 0
1 15563103 rs3016111 0 0
Возможно, сначала разберись:
cat FileName.txt | sort -r -n -k5 | head