perl -pe '/^\d/g && s/\G(?:(\.\K\d+(?=\.))|\.\K\d+(?=,))/sprintf "%0".($1?2:3)."d",$&/ge'
Используемый здесь метод заключается в просмотре окрестностей числовых значений и выполнении действий на их основе. Таким образом, 2-е и 3-е числа видят точку с обеих сторон, в то время как 4-е число видит точку слева и запятую справа.
$1 устанавливается, когда регулярное выражение выбирает путь 2-го или 3-го числа и, соответственно, точность заполнения равна 2. OTOH, для 4-го числа заполнение равно 3.
%cat файл.txt
1.00.3.4,Some Text Here
1.01.01.1,Some Text Here
1.0.01.1,Some Number 1 Here
1.1.1.1,Some Text Referring to Document XXX Heading 1.2.3.4
1.2.3.4,Some \n \s \text
1.00.03.004,Some Text Here
1.01.01.001,Some Text Here
1.00.01.001,Some Number 1 Here
1.01.01.001,Some Text Referring to Document XXX Heading 1.2.3.4
1.02.03.004,Some \n \s \text
Во-первых, убедитесь, что httpd работает с sudo systemctl httpd status
. Прежде чем мы случайно добавим повторяющееся правило, давайте проверим правила iptables с помощьюiptables -L
Чтобы убедиться, что мы принимаем все входящие http, давайте добавим ACCEPT в нашу таблицу
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Если это не решит проблему, обязательно проверьте настройки Apache, указанные в /etc/apache2/apache2.conf
. У нас должна быть базовая модель безопасности внизу файла conf. Например, вот что найдено в моем
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
В ports.conf убедитесь, что мы прослушиваем порт 80 на всех устройствах (на данный момент, пока мы не настроим вас)Listen *:80
Если ни один из них не вызывает проблемы, убедитесь, что apache2 также работает
Вы можете использовать nmap с удаленного компьютера, чтобы узнать, фильтруется ли порт 80.
$ nmap 10.0.0.11 -p 80
Starting Nmap 7.01 ( https://nmap.org ) at 2019-10-10 17:14 EDT
Nmap scan report for 10.0.0.11
Host is up (0.070s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: B4:75:0E:24:E8:7E (Belkin International)
Nmap done: 1 IP address (1 host up) scanned in 1.10 seconds
When I try to connect from another device, using the local IP address of the Apache server, I get error messages in the browser, such as: in Firefox on a Mac, I get 'Unable to connect. Firefox can't establish a connection to the server at localhost.'. If I try to connect using the DuckDuckGo browser on an Android phone, I get 'Webpage not available. The webpage at http://localhost/ could not be loaded because: net::ERR_CONNECTION_REFUSED'.
Если вы используете localhost в качестве имени хоста с других машин, они пытаются соединиться сами с собой... На других машинах вы должны использовать фактический адрес вашего сервера. Так
ip address show
это перечислит все ваши сетевые интерфейсы и адреса(inet
строки, которые выглядят как:inet 192.168.0.44/24 brd 192.168.0.255 scope global dynamic enp0s31f6
). Игнорируйте интерфейс lo
(, который находится по адресу 127.0.0.1 ), и используйте интерфейс enp*
или wlp*
. Они, вероятно, будут иметь адрес, начинающийся с192.168...
inet
на вашем Mac/или Android:http://192.168.0.44/Использование адреса напрямую имеет два неудобства:
На Mac вы, скорее всего, сможете решить проблему #2, добавив имя и адрес вашего сервера в файл /etc/hosts
(или его эквивалент в OSX ). Это может быть невыполнимо на Android.
Для #1, если вам очень повезло, все ваши устройства поддерживают разрешение имен NETBIOS, и вы можете использовать их имена NETBIOS (, обычно их имя хоста ).
Публикую свой ответ, просто чтобы уточнить, в чем проблема:
Я использовал curl --verbose [local-IP]
с терминала своего Mac, и из вывода было ясно, что он попадал на сервер Apache, но Wordpress перенаправлял на http://localhost/
. Итак, я проверил настройки Wordpress, и в качестве «адреса сайта» было установлено http://localhost/
. Я изменил это на http://[local-IP]
, и теперь все работает нормально. Спасибо всем, кто внес полезные предложения!
(Думаю, мораль этой истории в том, чтобы в следующий раз использовать средства командной строки -для отладки...)