我有一个像这样的文件: exception: anythinggggg… exception: anythinggggg… abchdhjsdhsd ygsuhesnkc exception: anythingggg… exception: anything… .. .. 我想grep最近的两次exception关键字,以及之前的3行和之后的3行。 我正在使用类似的东西 grep -C 3 exception | tail -12 我在这里使用尾巴-12,因为我想每次出现6行,最近2次出现。 这个工作正常时发生的exception是远离对方,但给我无用的线,如果说这两个事件是连续的。 abdgjsd abdgjsd abdgjsd abdgjsd abdgjsd abdgjsd abdgjsd abdgjsd exception exception exception abcd 在上述情况下,它给了我 abdgjsd abdgjsd abdgjsd exception exception exception abcd 不过,我想要的是 abdgjsd exception exception —————–> OUTPUT FOR FIRST OCCURRENCE exception abcd […]
我需要将Unix命令“tail -f”包装在BufferedInputStream中。 我不想模拟或模仿这个问题所述的尾巴。 相反,我想用尾巴,等着它给我一个新的路线。
使用典型的Apache访问日志,你可以运行: tail -f access_log | grep "127.0.0.1" 它只会显示指定IP地址的日志(当它们被创build时)。 但是为什么当你通过grep再次pipe理它时会失败,进一步限制结果呢? 例如,一个简单的排除“.css”: tail -f access_log | grep "127.0.0.1" | grep -v ".css" 将不会显示任何输出。
我一直在尝试xargs和pipe道的各种组合,但我不能得到正确的结果。 以前的问题并不完全涵盖我想要做的事情: 我有一个源代码目录,可以说/富/源,混合不同的文件 我只想将在源文件中find的csv文件复制到不同的目的地,例如/ foo / dest 但是我同时也需要删除232个标题行(例如使用尾部) 我发现我需要将查找的结果input到xargs中,然后可以在每个查找结果上运行命令。 但是我正在努力去追求复制。 如果我pipe尾巴到CP,CP似乎并没有收到文件(缺less文件操作数)。 以下是我迄今为止所尝试的一些示例: find /foo/source -name "*.csv" | xargs -I '{}' sh -c 'tail -n +232 | cp -t /foo/dest' cp:缺less文件操作数 find /foo/source -name "*.csv" | xargs -I '{}' sh -c 'tail -n +232 {} | cp -t /foo/dest' 结果: cp:无法访问“/ foo / dest”:没有这样的文件或目录… find /foo/source […]
好吧,所以在这里,我正在用这个awk代码挣扎,它应该模拟tail命令 num=$1; { vect[NR]=$0; } END{ for(i=NR-num;i<=NR;i++) print vect[$i] } 所以我想在这里实现的是一个由awk模拟的尾部命令,例如考虑cat somefile | awk -f tail.awk 10应该打印文本文件的最后10行,有什么build议吗?
我想在CentOS中尾随多个文件(并按照它们),我试过这个: tail -f file1 file2 file3 但输出是非常不友善的 我也看过multitail,但找不到CentOS版本。 我还有什么其他的select?
我试图find一个简洁的shell,它会给我一个文件中的所有行, 直到某种模式。 用例将转储日志文件中的所有行,直到find指示服务器已重新启动的标记。 这是一个愚蠢的壳只有这样的方式: tail_file_to_pattern() { pattern=$1 file=$2 tail -n$((1 + $(wc -l $file | cut -d' ' -f1) – $(grep -E -n "$pattern" $file | tail -n 1 | cut -d ':' -f1))) $file } 一个稍微更可靠的Perl方式,需要stdin上的文件: perl -we ' push @lines => $_ while <STDIN>; my $pattern = $ARGV[0]; END { my $last_match = […]
我正在用Java编写一个cod4服务器控制器(我知道那里有完美的服务器控制器,但我想从中学习)。 现在我想根据日志文件中的条目采取具体的操作,这个文件经常被鳕鱼更新,文件会变得很大。 现在我怎样才能有效地读取每一秒左右文件已经改变的部分呢? 或者是否有办法将日志文件中的所有内容都发送给Java?(我读了一些关于pipe道的内容)。 服务器在Linux上运行。 日志文件不需要保存在同一个位置,因为所有的东西都应该通过Java来保存。 大约一秒或2秒的延迟是可以接受的,但不再是。
我试图find一个Unix命令(也许组合)如何连续显示其最后几行内容的文件。 但是在这个显示过程中,当滚动内容到达屏幕顶端的时候,我希望屏幕上方总是显示一些顶行。 那可能吗? (1)假设我有文件“job.sta”,前两行是:job的名称,约翰的工作2013年1月30日,… tab1,tab2,tab3 0,1,2,1,90, 89 2,89,23 … (2)这个文件正在运行,它的内容正在增长,我不知道它会以什么结束。 (3)所以我想在使用tail命令时显示(总是)前2行,当更新内容到达Unix shell的屏幕上时。 目前我正在使用PuTTY。 参考: http : //www.unix.com/unix-dummies-questions-answers/172000-head-tail-how-display-middle-lines.html
我想grep像'==> * .sh <==' 但它不起作用,我可以grep一切'.sh <==',但没有得到通配符工作。 这里有什么窍门?