Считайте файлы в Каталоге и возьмите разность

Поскольку Ваш маршрутизатор не поддерживает отображение порта, можно сделать, это или на каждом размещает для себя или одним хостом.

Для передачи входящего трафика на порте 2241 к localhost:22 использовать

iptables -t nat -A PREROUTING -p tcp --dport 2241 -j REDIRECT --to-ports 22    

Для передачи входящего трафика на 192.168.0.41:2242 к 192.168.0.42:22, можно использовать DNAT (Место назначения NAT). Можно сделать это, например, при помощи (там вероятны больше безопасных решений):

echo 1 > /proc/sys/net/ipv4/ip_forward # or use /etc/sysctl.conf
iptables -t nat -A PREROUTING -p tcp --dport 2242 -j DNAT --to-destination 192.168.0.42:22 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -d 192.168.0.42 -p 22 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
0
03.07.2013, 16:40
1 ответ
#!/bin/sh

for f in comp1/* ; do
  diff "comp1/$f" "comp2/$f" > "$f.diff"
done

Этот сценарий предполагает, что у Вас есть файлы того же имени в обоих каталогах.

3
28.01.2020, 02:28
  • 1
    спасибо за быстрый ответ, это, в чем я нуждаюсь. Что, если нам нужно это рекурсивно? например, далее в comp1 каталоге существует другой каталог? –  Toqeer 03.07.2013, 17:18
  • 2
    Это зависит от того, где Вы хотите иметь файл с выводом различных. Если Вы хотите это в одном файле, просто используйте diff -Nru как предложено @dawud. Если Вы хотите отдельные файлы, просто разделяете вывод в '^---' с csplit. –   03.07.2013, 19:58
  • 3
    Не выполняйте итерации по выводу ls. Просто используйте шарик. И заключите свои переменные в кавычки. –  Paused until further notice. 03.07.2013, 20:53
  • 4
    я исправил код в ответе. –   04.07.2013, 07:02

Теги

Похожие вопросы