мне нужно использовать найти команду в моем сценарии, как это:Как использовать несколько параметров в поиске?
#!/bin/bash
...
find /root/olddir/ -name "*.log" -type f | xargs -I '{}' mv {} /root/newdir/
...
Но мне нужно установить olddir/NEWDIR и использовать для нескольких директории, как это:
/root/olddir/ --> /root/newdir/
/root/olddir2/ --> /root/newdir2/
/root/olddir3/ --> /root/newdir3/
/root/another_olddir3/ --> /root/another_newdir3/
/home/old/ --> /home/new/
...
Могу ли я использовать файл конф для что? Как я могу прочитать параметры на конф файл, как это:
param.conf:
#olddir;newdir
/root/olddir/;/root/newdir/
/root/olddir2/;/root/newdir2/
/root/olddir3/;/root/newdir3/
/root/another_olddir3/;/root/another_newdir3/
/home/old;/home/new/
Нет, 'find' не читает конфигурационный файл. Что вы на самом деле пытаетесь сделать, это мешает вам просто писать три команды отдельно? И вам действительно даже нужно найти? Если все '* .log' находятся непосредственно в каталогах'/root/olddirN/', вы можете просто их просто« mv »- не нужно« находить »или« xargs ». Последние могут быть переполнены, если файлы журналов не распределены в дереве каталогов под каждым «olddirN» (в этом случае древовидная структура не будет скопирована вашей командой). –
'while IFS ="; " read -r source target; do echo "$ source $ target"; сделано
Cyrus