Основываясь на http://zsh.sourceforge.net/Doc/Release/Files.html#Files, я бы рекомендовал поместить команду в ваш файл ~/.zshrc.
Then, if the shell is interactive, commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc
Где ZDOTDIR можно установить для переопределения значения по умолчанию $HOME
.
Черезawk
:
Проверьте первые три поля, если условия выполнены для всех элементов набора. (разделить поля на ;
и протестировать каждую пару)
Если это так, запомните положение множества в каждом поле. (в массивеsel
)
Во втором блоке пройдитесь по всем полям и оставьте только значения, совпадающие с предыдущими позициями.
Печатать только, если найдено какое-либо совпадение.
BEGIN {FS=OFS="\t"}
{
#select IDs of value sets to be keept
split($1,a,";")
split($2,b,";")
split($3,c,";")
nsel=0 ; delete sel
for ( i in a ) {
if (a[i]+0<-0.5 && b[i]+0>1 && c[i]+0>2) {
sel[++nsel]=i
}
}
#if any: run through all fields and reselect
if (nsel) {
for (i=1 ; i<=NF ; i++) {
split($i,a,";")
$i=a[sel[1]]
for (j=2 ; j<=nsel ; j++) {
$i=$i";"a[sel[j]]
}
}
}
}
#print only if any matching set was found
nsel