массив из элементов, содержащих в названиях пробелы

Apr 27, 2010 13:13

#создадим массив mass, элементами которого
#будут имена файлов с полными путями, учитывая пробелы и
#прочие некашерности

mass=()
    while read -r -d $'\0'; do
        mass+=("$REPLY")
    done < <(find ~/ -name "*.txt" -print0 2>/dev/null)
#------------------------------------------------------------------
#выведем в стдоут элементы массива mass:
for file in "${mass[@]}"; do
         echo "$file" 
done

###################################################################
# а вот этот кривой скрипт полностью, по-моему, работает
###################################################################
#!/bin/bash
#set -x

files=()
        while read -r -d $'\0'; do
                files+=("$REPLY")
        done < <(find /home/${LOGNAME}/downloads/test/ -name "*.cue" -print0 2>/dev/null)

func() { rm  -f "${files[${x}]}" ; }

for x in {0..$((${#files[@]}-1)) } ; do
for y in {1..$((${#files[@]}-1)) } ; do

if [ $(diff -y --suppress-common-lines "${files[${y}]}"  "${files[${x}]}" | wc -l) -eq 1 ] ; then func ;fi

done
done

скрипты

Previous post Next post
Up