Сценарий цикла «для» сценария оболочки - PullRequest
0 голосов
/ 15 марта 2019

Я получил следующее для работы:

i=0
for log in $(ls -1dt import*.log)
do
((i++))
if [ $i -gt 3 ]; then
rm -rf $log
fi
done

Он производит: "syntax error near unexpected token 'do' " Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 15 марта 2019

Простая логика, чтобы сделать то же самое без разбора ls -

stat -c "%Y %n" import*.log | # list last modification and filename
  sort -rn                  | # sort reverse numeric on mod time
  while read es fn;           # read the timestamp and the filename
  do if (( ++latest <= 3 ));  # count each file found, for 1st 3
     then continue;           # do nothing, skipping them
     else rm -f "$fn";        # -r for recurse only needed on dir's
     fi;
  done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...