Как найти два типа файлов: исполняемые и текстовые файлы

Опция --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).

-121--96680-

Ваш вопрос не был ясен мне на 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.

2
09.05.2018, 15:51
1 ответ

Вы можете сделать это с помощью 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.
3
27.01.2020, 22:02

Теги

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