как итеративно перемещать файлы / папки, используя сопоставление с шаблоном grep - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь итеративно перемещать файлы / папки с кодами из одного каталога в другой в рамках непрерывной интеграции, и для этого я использую приведенный ниже блок кода.

for i in $HOME/gitstage/frolit/* ; do 
    if [ echo "$i" | grep -v '*db.sqlite3*|*bitbucket-pipelines.yml*' ]; then
        echo "$i"
    fi
done

Здесь я пытаюсь ограничить перемещение двух файлов db.sqlite3 и bitbucket-pipelines.yml в каталог назначения. Но как-то это не получается. Может ли кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018
for i in $HOME/gitstage/frolit/* ;
do
if [[  "${i}" = *"db.sqlite3"* ]] || [[ "${i}" = *"bitbucket-pipelines.yml"* ]];
then
continue
fi
mv  $i   /target/directory  ####target directory  where   you want  to move the   files to
done

Это должно хорошо работать как в bash, так и в ksh, даже в старых версиях. Просто убедитесь, что синтаксис с вашей оболочкой проверен, и измените, если это необходимо, выше.

0 голосов
/ 28 апреля 2018

С bash 3.0 или новее:

if [[ ! "$i" =~ .*(db.sqlite3|bitbucket-pipelines.yml).* ]]; then
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...