【发布时间】:2012-08-31 09:41:27
【问题描述】:
我在服务器上有一个名为writelog 的日志文件,大约是2GB。
我想从文件中删除第一行100,000。我可以打开文件并删除这些行,但由于文件大小,我需要永远下载它。
那么,是否可以从 Linux 终端执行此操作?如果是怎么办?
【问题讨论】:
我在服务器上有一个名为writelog 的日志文件,大约是2GB。
我想从文件中删除第一行100,000。我可以打开文件并删除这些行,但由于文件大小,我需要永远下载它。
那么,是否可以从 Linux 终端执行此操作?如果是怎么办?
【问题讨论】:
如果你运行的是 Linux 服务器,你可以使用ssh:
ssh username@mydomain.com sed -i '1,100000d' /path/to/logfile
【讨论】:
保留最后 1000 行可能会更好:
mv writelog writelog.bak
tail -1000 writelog.bak > writelog
您应该为该文件启用logrotate (manual)。然后系统将确保文件不会超出比例。
【讨论】:
【讨论】:
: >| writelog 覆盖 -C/noclobber 选项......在 C shell 中,这是:: >! writelog...:是内置的“空命令”,什么都不做,什么也不输出,总是退出0。