比如我们需要对名为 myfile 的 3G 文件做操作,需要删除其最后一行,使用 vim 的话会一次性打开文件,会占用大量内存,可能会出现被卡死的情况发生,那么怎么实现在不占用内存的情况下实现该操作呢?
方式一
# retrieve last line from file
LAST=$(tail -n 1 myfile)
# truncate file
let TRUNCATE_SIZE="${#LAST} + 1"
truncate -s -"$TRUNCATE_SIZE" myfile
# ... $LAST contains 'popped' last line
方式二
sed -i '$d' myfile