Опция --from-file
позволяет сравнивать один файл со многими файлами (а не с файлами tar --files-from
, считывающими список файлов для работы из файла). Он имеет аналогичный --to-file
, который из двух используемых будет зависеть от относительного «направления» изменения. Так как вы используете -q
, который говорит только, если есть разница, надеюсь, это не должно иметь значения для вас здесь.
Я предполагаю, что у вас есть файл ссылки, и вы хотите сравнить его с набором идентично именованных файлов, так что любой из них должен работать:
diff -q --from-file dir1/protein.mol2 $(find . -name protein.mol2)
find . -name protein.mol2 | xargs diff -q --from-file dir1/protein.mol2
В первом случае diff
будет выполняться только один раз, и его код выхода будет отражать, были ли обнаружены какие-либо различия в наборе.
Во втором случае diff
может выполняться более одного раза. Эта вторая форма может использоваться в случае, если у вас есть большое количество файлов (или очень длинные имена файлов/каталогов) и достигнут предел командных аргументов (обычно 128kB в системах Linux).
Ваш вопрос не был ясен мне на 100%. Но если вы спрашиваете, как заменить inp выводом, вы можете сделать это с помощью awk:
print "inp1" | awk 'sub(/inp/,"output")'
-121--289321- Решение:
Вы не настроили разрешение DNS-имен для вашего имени сервера и должны задать имя сервера в/etc/hosts вручную или на вашем DNS-сервере.
Процесс отладки:
В случае NT _ STATUS _ IO _ TIMEOUT попробуйте использовать анализатор сетевого трафика, например, tcpdump. (ex. tcpdump -i > Сетевой интерфейс <)
Если появляются следующие строки:
07:57:54.726390 IP 10.0.2.9.39939 > 10.0.2.1.domain: 20986+ A? server.example.local. (38)
07:57:54.726648 IP 10.0.2.9.39939 > 10.0.2.1.domain: 44015+ AAAA? server.example.local. (38)
07:57:54.727069 IP 10.0.2.9.48743 > 10.0.2.1.domain: 34381+ PTR? 1.2.0.10.in-addr.arpa. (39)
07:57:54.732388 IP 10.0.2.1.domain > 10.0.2.9.39939: 20986 NXDomain* 0/0/0 (38)
07:57:54.733400 IP 10.0.2.1.domain > 10.0.2.9.48743: 34381 NXDomain* 0/0/0 (39)
07:57:54.733642 IP 10.0.2.9.53191 > 10.0.2.1.domain: 24458+ PTR? 9.2.0.10.in-addr.arpa. (39)
Это означает, что smbclient не может разрешить имя сервера server.example.local, что является проблемой разрешения DNS.
Вы можете сделать это с помощью GNU find или другого find, который поддерживает -path
, но я не думаю, что это более элегантно.
find src \( -type f -executable ! -path 'src/*/*' -o -name '*.txt' \) \
-exec ln -fs {}. +
Вместо этого вы можете использовать zsh. Его квалификаторы glob более лаконичны, чем синтаксис find.
ln -sf src/*/*(N*.) src/**/*.txt.