2016-04-16 2 views
0

J'essaie d'utiliser un fichier txt pour stocker les emplacements de dossiers à utiliser dans la commande find. Mais continuer à obtenir le dossier ne trouve pas des œuvres avec un seul emplacement du dossier dans le fichierRechercher un fichier pour l'emplacement des dossiers Linux Bash

avec "AddFolder de $"

found=$(find "$addfolder" ! -path "*/.bak/*" -type f -iname "*$ffind*" | sort) 

et le remplacement \ »

addfolder="$addfolder $Folder" 

folder.txt: - Principal/Public principal/General Non utilisé anciens fichiers de sauvegarde

#!/bin/bash 
addfolder=""  
filename="Settings/folders.txt" 

#Read Folder.txt for locations 
while read -r Folder; do 
if [ ! "$Folder" == "" ];then 
    if [ -d "$Folder" ]; then 
    addfolder="$addfolder \"$Folder\"" 
    echo "$addfolder" 
    fi 
fi 
done < "$filename" 

if [ "$addfolder" == "" ]; then 
exit 
fi 

echo -e "\e[36mEnter Filename To Find :-\e[0m" 
read -p "" ffind 
echo -e "\e[92mSearching:\e[0m" 
found=$(find $addfolder ! -path "*/.bak/*" -type f -iname "*$ffind*" | sort) 

echo -e "\e[33m$found\e[0m" 
echo "Press Enter To Exit" 
read -s -n 1 -p "" 

Répondre

0

Les variables régulières ne doivent contenir que des chaînes uniques.

pour contenir des listes de chaînes, utilisez un tableau:.

#!/bin/bash 
addfolder=()  
filename="Settings/folders.txt" 

#Read Folder.txt for locations 
while IFS= read -r Folder; do 
if [ ! "$Folder" == "" ];then 
    if [ -d "$Folder" ]; then 
    addfolder+=("$Folder") 
    echo "${addfolder[@]}" 
    fi 
fi 
done < "$filename" 

if [ "${#addfolder[@]}" == 0 ]; then 
exit 
fi 

echo -e "\e[36mEnter Filename To Find :-\e[0m" 
read -p "" ffind 
echo -e "\e[92mSearching:\e[0m" 
found=$(find "${addfolder[@]}" ! -path "*/.bak/*" -type f -iname "*$ffind*" | sort) 

echo -e "\e[33m$found\e[0m" 
echo "Press Enter To Exit" 
read -s -n 1 -p "" 
+1

@theotherguy même devrait aller pour '= $ trouvé (trouver "$ {AddFolder [@]}" -path « */bak/* "-type f -iname" * $ ffind * "| sort)' –

+0

acclame le cerveau mort aujourd'hui aurait dû voir ça !!! – user1184628