Я не очень хорошо понимаю эту проблему, но все равно рискну предложить решение, я думаю.
sed -nse'1!{ :out
1x
s/ */&\n/10
s/^/ /p;t
}
x; s/..*//;t out
g; s/[^ ]* *[^ ]* *//
s/ .*//;p
x; :eat
$d;n;b eat
' file1 file2 file3 file4 |
sed ' /^ /!{h;d;}
s///;N;G
s/\n[^ ]*\(.*\)\n\(.*\)/\2\1/
'
Это может сработать. Если у вас есть sed
, который может обрабатывать -s
отдельные потоки входных файлов, то он должен попеременно выбирать только нужное вам поле из первого файла и записывать только это одно поле для всего файла, или пометить и подготовить каждую выходную строку для следующего входного файла, чтобы второй sed
мог заменить нужные поля.
В основном он работает с парами файлов - из первого из каждых двух прочитанных файлов он выведет только ваш исходный столбец, а затем отредактирует этот исходный столбец во втором из каждой пары.
Ubuntu 16.04 не использует firewalld
по умолчанию, например RHEL/Centos, поэтому firewall-cmd --reload
не будет работать. Итак, у вас есть 3 варианта:
1 )Переключитесь на firewalld с помощью:
sudo systemctl stop iptables
sudo systemctl mask iptables
sudo apt-get remove ufw
apt install firewalld
sudo systemctl enable firewalld
2 )Использовать iptables по:
iptables -I INPUT -p tcp --d-port 443 -j ACCEPT
3 )Используйте UFW с помощью:
sudo ufw allow 443