Очевидно, у вас много файлов. Рассмотрите возможность использования GNU Parallel http://www.gnu.org/software/parallel/ 'ls -U' не сортирует файлы, и тогда это происходит быстрее.
cd $VSTROOT/VirtualScreening/Ligands
ls -U ZINC* | parallel echo {} \; pythonsh ../../prepare_ligand4.py -l {} -d ../etc/ligand_dict.py
Я не понимаю, почему вы повторяете это эхом. Разбираете ли вы это в новом сценарии? Я предполагаю, что «prepare_ligand4.py» - это сценарий для преобразования, и тогда он должен выполнить работу (параллельно):
cd $VSTROOT/VirtualScreening/Ligands
ls -U ZINC* | parallel pythonsh ../../prepare_ligand4.py -l {} -d ../etc/ligand_dict.py
Вы можете использовать параметр -w
:
-w, --where, --path, --location
Don't actually display the manual pages, but do print the loca‐
tion(s) of the source nroff files that would be formatted.
Это возвращает почти то, что вы запрошено:
$ man -wK hairpin
/usr/share/man/man1/nmcli.1.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/bridge.8.gz
/usr/share/man/man5/systemd.network.5.gz
/usr/share/man/man5/nm-settings.5.gz
/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz
/usr/share/man/man7/systemd.directives.7.gz
Если этого недостаточно, вы можете разобрать его в форму:
$ man -wK hairpin | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)
Наконец, вы можете превратить это в функцию. Добавьте эту строку в файл инициализации вашей оболочки (например, ~ / .bashrc
):
function sman(){ man -wK "$@" | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'; }
Затем вы можете запустить:
$ sman hairpin
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)