Очевидная проблема: команда find выполняет -exec {}
, которая пытается выполнить каждый найденный файл (источник большинства сообщений об ошибках). Возможно, вы имели в виду просто -print
, например,
files=$(find foldername -size +1k -name \*.txt -print)
. У вас также возникнут проблемы со списком, если вам удастся найти файлы с пробелами в их именах - но вы увидите, что как только найдете файлы правильно.
Есть несколько способов сделать это; вот одно небольшое изменение в вашем скрипте:
find foldername -size +1k -name \*.txt -print | \
while IFS= read -r item
do
echo "$item"
done
вот рабочий скрипт
#!/usr/bin/env bash
# download death data
wget -O Deaths.txt http://www.randomservices.org/random/data/Deaths.txt
wget -O Pumps.txt http://www.randomservices.org/random/data/Pumps.txt
# Delete the first line
sed 1d Deaths.txt > tempfile1
sed 1d Pumps.txt > tempfile2
mv tempfile1 Deaths.txt
mv tempfile2 Pumps.txt
gnuplot -persist -e "set terminal canvas;set xlabel 'x' font 'sans,15';
set ylabel 'y' font ',15';
set title 'Relationship between Deaths and Pumps' font 'sans, 20';
show title;
set label 'Most of the deaths is near the pump located in 12.6,11.7' at 16,16;
show label;
set output 'death_pump_relation.html';
plot 'Pumps.txt' with points pt 7,'Deaths.txt' with dots;"
выход умер _помпа _ratio.html
Я знаю, что там не так
# mv tempfile1 Deaths.txt
# mv tempfile2 Pumps.txt
не следует осуждать