আমি লগ ফাইলে সর্বশেষ 'এক্স' লাইন বাদে সমস্ত মুছতে নীচের বাশ স্ক্রিপ্টটি ব্যবহার করছি:
#!/bin/bash
# Script to write to the log file every minute and delete all but the last
# set time in hours
echo `date +\%Y\%m\%d\%H\%M\%S`,`/home/pi/temp/temp` >> /home/pi/temp/temp.log
HOURS="12" #Nr of hours in the log
LINES=$(( $HOURS * 60 + 1 )) #Nr of minutes/lines in the log
echo $LINES #Included just for testing if i'm getting the desired amount of lines
sed -e :a -e '$q;N;$LINES,$D;ba' temp.log >temp1.log ;mv temp1.log temp.log
আমি এর মান (12 ঘন্টা) এর জন্য 21 লাইনগুলি প্রতিস্থাপন করেছি, 721 এবং স্ক্রিপ্টটি ক্রোন টাস্ক হিসাবে কাজ করছে, প্রতি মিনিটে ত্রুটি ছাড়াই চলে, তাই আমি নিশ্চিত যে ত্রুটিটি সেডের মধ্যে পরিবর্তনশীল অন্তর্ভুক্ত রয়েছে the
এছাড়াও, আমি কেবল কয়েকটি ওয়েবসাইট থেকে এটি অনুলিপি করেছি, কেউ যদি আমাকে সেড কমান্ডের মধ্যে কী চলছে তা বোঝাতে যথেষ্ট সদয় হতে পারে, তবে আমি নিজেই ভুলটি বের করতে সক্ষম হব।
এটি ত্রুটি:
sed: -e expression #2, char 8: extra characters after command.
এছাড়াও, এটি ফাইলের সমস্ত লাইন মুছে দেয়।