У меня есть большой файл csv, который мне нужно свести до последних 1000 строк через работу cron каждый день.linux cron truncate большой файл
Может ли кто-нибудь предложить, как это сделать?
То, что я до сих пор две команды, но не знаю, как объединить их
Для удаления строки из самого начала файла команда
ed -s file.csv <<< $'1,123d\nwq'
где 123 это число строк, необходимых для удаления с начала файла
Для считывания количества строк в файле команда
wc -l file.csv
Мне нужно было вычесть 1000 из этого и передать результат первой команде Есть ли способ объединить результат команды wc в команде ed?
Спасибо заранее
Возможный дубликат [Как удалить все, кроме последних 10 строк из файла?] (Http://stackoverflow.com/questions/3775383/how-can-i-remove-all-but-the-last -10-lines-from-a-file) –
Использование: 'tail -n -1000 file> newfile; mv newfile file' – user3439894
Укрытие это работает, но было бы удобнее, если бы я мог редактировать файл, а не создавать новый файл. – manolish