FreeBSD 9.2 RELEASE p2
У меня есть файл fromdirs.txt
. В этом файле находится новая строка разделенный список каталогов следующим образом:Поиск файлов в нескольких каталогах, взятых из списка в файле?
/etc
/home
/home/goods/
мне нужно сначала найти в файлах все каталога, который имеют имена, как «хорошее» или содержать строку «(NODES_'TASK ')», а затем скопировать все эти файлы в каталог /tmp
.
2.sh файла CHMOD + х и 755 fromDirs.txt файл CHMOD + х и 755
Этот код дает мне ошибку
IFS=$'\n' read -d '' -r -a dirs < fromDirs.txt
find "${dirs[@]}" -type f \(-name '*good*' -o -exec grep -F "(NODES_'TASK')" {} \; \) -exec cp {} /tmp/ \;
2.sh: Невозможно открыть fromDirs. ТХТ: Нет такого файла или каталога
2.sh: $ {каталоги [...}: Плохо замена
Но существуют Файловые fromDirs.t и 2.sh работают от него каталог распределения, а также я пытаюсь обеспечить полный путь вместо fromDirs.txt и ошибки того же
Этого кода дают мне ошибку
FILE=fromDirs.txt
IFS='\n'
while read -r dirs
do
find "$dirs" -type f \(-name '*good*' -o -exec grep -F "(NODES_'TASK')" {} \; \) -exec cp {} /tmp/ \;
done < "$FILE"
2.sh: 6: Синтаксическая ошибка: "сделана" неожиданный (ожидая "делать")
Этим код дает мне ошибки тоже
FILENAME=fromDirs.txt
awk '{kount++;print kount, $0}
END{print "\nTotal " kount " lines read"}' $FILENAME
2.sh:: не найден AWK: не могу открыть исходный файл fromDirs.txt номер строки 2
Так как читать файл построчно и делать то, что мне нужно?
Попробуйте его с 'bash', вместо' sh' – BroSlow
Баш: не найден –
попробовать с 'ksh' или дублированный проверить свою среду PATH. У меня нет опыта работы с FreeBSD, но сложно представить, что 'bash' или' ksh' недоступны. Удачи. – shellter