我需要使用bash脚本从一个巨大的文本文件中重复删除第一行.
现在我正在使用sed -i -e "1d" $FILE- 但删除大约需要一分钟.
有没有更有效的方法来实现这一目标?
我正在实施以下内容:
我想知道是否有人能够"截断"linux中的给定文件?截断是按文件大小,例如,如果文件是10GB,我想截断文件的前100MB,并保留文件剩余9.9GB.有人可以帮忙吗?
谢谢
我想读取并从txt文件中删除第一行(没有复制,这是一个巨大的文件).
我已经阅读了网络,但每个人都只是将所需的内容复制到一个新文件中.我做不到.
低于第一次尝试.由于没有删除行,此代码将被置于循环中.如果代码将在每个开头删除第一行文件,代码将到达结尾.
#include <iostream>
#include <string>
#include <fstream>
#include <boost/interprocess/sync/file_lock.hpp>
int main() {
std::string line;
std::fstream file;
boost::interprocess::file_lock lock("test.lock");
while (true) {
std::cout << "locking\n";
lock.lock();
file.open("test.txt", std::fstream::in|std::fstream::out);
if (!file.is_open()) {
std::cout << "can't open file\n";
file.close();
lock.unlock();
break;
}
else if (!std::getline(file,line)) {
std::cout << "empty file\n"; //
file.close(); // never
lock.unlock(); // reached
break; //
}
else {
// remove first line
file.close();
lock.unlock();
// do something with line
}
}
}
Run Code Online (Sandbox Code Playgroud)