bash - Linux: Extract the first line of a file -



bash - Linux: Extract the first line of a file -

i working openwrt , very little amount of space.

trying extract first line file. line needs go variable , removed file. can utilize head set variable can't utilize tail because far understand have tail file > newfile , not have room sec file.

does 1 know if improve technic?

edit: can't utilize old reply (see below) openwrt since openwrt doesn't ship ed. shame. here 2 methods:

the vi way

vi genuine editor too, next work:

vi -c ':1d' -c ':wq' file > /dev/null

we open file vi, , utilize commands :1d delete first line , :wq save , quit, redirecting output /dev/null. cool, clean, short , simple.

oh, of course of study run:

firstline=$(head -n1 file)

before running vi command first line of file variable firstline.

note. on scheme little memory, , when file huge, method fails.

the dd way

dd cool tool this. dd methods given in other answers great, yet rely on truncate utility not ship openwrt. here's workaround:

firstline=$(head -n1 file) linelength=$(head -n1 file | wc -c) newsize=$(( $(wc -c < file) - $linelength )) dd if=file of=file bs=1 skip=$linelength conv=notrunc dd if=/dev/null of=file bs=1 count=0 seek=$newsize

this work huge files , little memory! lastly dd command plays role of truncate command given in other answers.

old reply was:

you can utilize ed this:

firstline=$(printf '%s\n' 1p d wq | ed -s file.txt)

at each call, you'll first line of file file.txt in variable firstline, , line removed file.

linux bash shell openwrt

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -