Вот это полностью очищает файл, вместо того чтоб оставить в нём только последние 20 строк
открой баш, в котором запускаешь эту команду, внутри стрейса, и тебе откроется истина. > открывает файл на запись. Пустой. оставить последние 20 строк можно как-то так: echo "$(tail -n 20 $file)" > $file
ну или седом, или с явным промежуточным файлом - tail -n 20 $file > $file.tmp && mv $file{.tmp,}
открой баш, в котором запускаешь эту команду, внутри стрейса, и тебе откроется истина. > открывает файл на запись. Пустой. оставить последние 20 строк можно как-то так: echo "$(tail -n 20 $file)" > $file
ну или седом, или с явным промежуточным файлом - tail -n 20 $file > $file.tmp && mv $file{.tmp,}
А, сначала настраивается перенаправление (открывает на запись и чистит) а уже потом читает tail? Окей