Файлы копии из каталога, если имя присутствует в текстовом файле

#!/bin/bash

while IFS='' read -r line || [[ -n "$line" ]]; do
    cd /home/Sud/Minimal\ Packages/All/
    if [ -d $line ]
    then
        cp $line*.rpm /home/Sud/NewFolder/rpms/
    else
        echo $line>>/home/Sud/NewFolder/notfound.txt
    fi
done < "$1"

Я пытаюсь выполнить вышеупомянутый код к

  1. считайте текстовый файл линию за линией
  2. проверьте, существует ли каталог с тем именем
    a. если да; скопируйте содержание того каталога к другому каталогу
    b. в противном случае напишите имя каталога к текстовому файлу.

Каждый раз, когда я запускаю скрипт, он копирует все имена к notfound.txt даже при том, что они присутствуют в папке, я ищу.

Где я иду не так, как надо?

0
задан 29 March 2016 в 14:49

1 ответ

if cp "$line"*.rpm destination/ ; then
    echo $line "successful!"
else
    echo $line "not found!"
    echo "$line">> /home/Sud/notfound.txt
fi

Это работало на меня.

0
ответ дан 29 September 2019 в 09:23

Другие вопросы по тегам:

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