exec 3<old.log
sed 1000000q <&3 >/dev/null
dd of=new.log <&3
可以这么解释么?
1) 用文件描述符号3打开日志文件(0,1,2分别表示标准输入,标准输出和标准错误输出,因此能用的最小文件描述符是3,也可以用3以上的数字)
2) 从打开的文件中用sed读取前面1000000行后q退出,将读出来的内容丢弃到/dev/null,这时候文件描述符3打开的文件的文件指针就正好指在第1000001行上。
3)用dd命令,把剩余没有“丢弃”的文件取出来保存到文件中。
暂时对dd命令不太熟悉,,,要加快脚步了
要注意的地方: 看上面代码红色的部分,这里重定向符号和文件描述符3之间是不可以有空格的.否则程序报错