Most versions of "tail" have a limited buffer. Mine is 20k. See "man tail" for your system. Thus the "tail -count" syntax is not reliable where the volume of output will exceed the size of the buffer - in fact it will just give you as many lines as it can.
Here is an example of "tail" going wrong on one of my logs:
tail -200 mylog|wc -l
200
ukh44004 # tail -300 mylog|wc -l
218
tail -400 mylog|wc -l
218
The unix "split" command mentioned earlier will give the correct result for simple text files.
head -1000 abc.txt _______this will give you the first 1000 lines
tail -1000 abc.txt ________this will give the last 1000 lines
so (> acd.txt) which yu added to the above command wil just create a file or override to the existed file .
note:like if you write cat file >new_file _______________here same thing happens.
not the head command will create file.