Вы можете сделать это несколькими способами, например,:
awk '
NR == FNR && !($1 in a){a[$1]=$0}
NR != FNR{print ($1 in a) ? a[$1] : $1" 10 20"}
' inp ref.txt
perl -lane '
$h{$F[0]} = $_ unless exists $h{$F[0]}}{
while ( <STDIN> ) {
chomp;
print(exists $h{$_} ? $h{$_} : qq<$_ 10 20>);
}
' inp < ref.txt
while IFS= read -r a
do
grep -m1 -F -- "$a" inp || echo "$a 10 20"
done < ref.txt
Результаты:
Doc_A 123 abc
Doc_B 123 abc
Doc_C 123 abc
Doc_D 10 20
Doc_E 10 20
Doc_F 10 20
Давайте рассмотрим только одну часть этого, где вы хотите разрешить исходящие соединения для ssh через порт tcp/22
# Allowing new and established incoming connections to port 22, 80, 443
/sbin/iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
# Allow all outgoing connections to port 22
/sbin/iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Первая пара правил не делает того, о чем говорится в комментарии. Вторая пара должна работать, но слишком щедра. Все четыре правила почти правильны, но в итоге оказываются недостаточно правильными. Вместо этого просто будь проще
# Allow outgoing connections to port tcp/22
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
# Allow return traffic for established connections
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT