我正在尝试从12GB的文本文件中删除特定的行.
我sed -i在HP-UX上没有该选项,并且保存到临时文件等其他选项无法正常工作,因为我只有20GB可用空间,文本文件已经使用了12 GB.
考虑到空间要求,我正在尝试使用Perl.
此解决方案适用于从12 GB的文件中删除最后9行.
#!/usr/bin/env perl
use strict;
use warnings;
use Tie::File;
tie my @lines, 'Tie::File', 'test.txt' or die "$!\n";
$#lines -= 9;
untie @lines;
Run Code Online (Sandbox Code Playgroud)
我想修改上面的代码以删除任何特定的行号.
希望在两个不同的文本文件上执行内部联接.基本上我正在寻找GNU连接程序的内连接等价物.这样的事情存在吗?如果没有,awk或者sed解决方案最有帮助,但我的第一选择是Linux命令.
这是我想要做的一个例子
档案1:
0|Alien Registration Card LUA|Checklist Update
1|Alien Registration Card LUA|Document App Plan
2|Alien Registration Card LUA|SA Application Nbr
3|Alien Registration Card LUA|tmp_preapp-DOB
0|App - CSCE Certificate LUA|Admit Type
1|App - CSCE Certificate LUA|Alias 1
2|App - CSCE Certificate LUA|Alias 2
3|App - CSCE Certificate LUA|Alias 3
4|App - CSCE Certificate LUA|Alias 4
Run Code Online (Sandbox Code Playgroud)
档案2:
Alien Registration Card LUA
Run Code Online (Sandbox Code Playgroud)
结果:
0|Alien Registration Card LUA|Checklist Update
1|Alien Registration Card LUA|Document App Plan
2|Alien Registration Card LUA|SA Application …Run Code Online (Sandbox Code Playgroud) 我在Bourne Shell中进行预约跟踪脚本,需要从文本文件中删除约会.如果我有行号,如何从文件中删除一行,不留空格?该文件如下所示:
1:19:2013:Saturday:16.00:20.30:Poker
1:24:2013:Thursday:11.00:11.45:Project meeting
1:24:2013:Thursday:14.00:15.10:CSS Meeting
Run Code Online (Sandbox Code Playgroud) 我在服务器上有一个日志文件,writelog关于2GB.
我想100,000从文件中删除第一行.我可以打开文件并删除这些行,但由于文件大小,我需要永远下载它.
那么,是否可以从Linux终端执行此操作?如果有,怎么样?