我有一个包含超过900个条目的大型日志文件。我想用Grep / AWK做一些事情(如果可能的话):
我想为符号“〜”的每个行条目导出一个新的txt文件。条件:
如果一个行/条目使用符号“〜”超过2次,那么它应该包含在新的txt文件中。
关于如何(或如果可能)使用Grep / AWK执行此操作的任何想法?
提前致谢!
答案 0 :(得分:2)
试试这个单行:
awk -F'~' 'NF>3' file > newFile
-F
定义字段分隔符。我们定义了~
~
,则该行应至少包含3个字段~
,请将NF>3
更改为NF>2
答案 1 :(得分:1)
你可以用grep:
来做function part($path, $offset, $rows) {
$buffer = array();
$buffer['content'] = '';
$buffer['pointer'] = array();
$handle = fopen($path, "r");
fseek($handle, $offset);
if( $handle ) {
for( $i = 0; $i < $rows; $i++ ) {
$buffer['content'] .= fgets($handle);
$buffer['pointer'] = mb_strlen($buffer['content']);
}
}
fclose($handle);
return($buffer);
}
或
function part() {
$handle = fopen($this->path, "r");
fseek($handle, $this->pointer);
if( $handle ) {
for( $i = 0; $i < 2; $i++ ) {
if( $this->pointer != $this->filesize ) {
$this->content .= fgets($handle);
}
}
$this->pointer += mb_strlen($this->content);
}
fclose($handle);
}