Хорошо. Я нашел то, что мне было нужно:
passphrase=$(head -n 1 /var/secret.key)
gpg --symmetric --batch --yes --passphrase $passphrase --output some.gpg toEncrypt.txt
Что вы ожидаете от оператора запятой в этом случае, что он делает в соответствии с руководством?
Если вы перепробовали все, пробовали ли вы использовать оператор И для создания условия И?
awk '$2 != "$ID1$" && $2 != "$ID2$"' myfile3.tsv > output
Если вы хотите что-то необычное, вы можете использовать массив в awk.
Если условия поиска не встречаются в других частях строки, вы можете использовать grep -v
.
Один из способов добиться желаемого заключается в следующем. Переменную lim вы заполняете, чтобы получить необходимое количество параметров.
awk -F '\t' -v lim=9 '
BEGIN {
OFS = FS
for (i=1; i<=lim; i++) a["$ID" i "$"]
}
$2 in a {next}
1' yourfile.tsv
Если вы не можете сгенерировать идентификаторы и вместо этого должны перечислить их вручную, это будет:
awk -v ids='$ID1$ $ID2$' '
BEGIN { split(ids,tmp); for (i in tmp) idarr[tmp[i]] }
!($2 in idarr)
' file
или если они хранятся каждый в отдельной строке в файле с именемids
:
awk '
NR==FNR { idarr[$1]; next }
!($2 in idarr)
' ids file
или подобный подход, заканчивающийся поиском по хешу.