草庐IT

grep-find

全部标签

linux - Grep 文件中的多个模式并为每个模式输出前 5 个匹配项

我有一个关于模式匹配的问题。我有一个包含多个模式的文件,比如pattern.txt轨迹3039v1rpkm6.85Locus3041v1rpkm6.84Locus3042v1rpkm6.84要搜索的测试文件是file.txt-Locus3039v1rpkm6.85gi|350401309|ref|XM_003486067.1|010853282538e-1278.8Locus3039v1rpkm6.85gi|350401301|ref|XM_003486066.1|010855664918e-1278.8Locus3039v1rpkm6.85gi|350401298|ref|XM_00

linux - 我的正则表达式在 grep 中不起作用

这是我正在处理的文件的文本:(4spaces)Hi,everyone(1tab)yes当我运行此命令时-grep'^[[:space:]]+'myfile-它不会将任何内容打印到标准输出。为什么它与文件中的空格不匹配?我使用的是GNUgrep2.9版。 最佳答案 有几种不同的正则表达式语法。grep的默认语法在grep文档中称为basic语法。来自mangrep(1):Inbasicregularexpressionsthemeta-characters?,+,{,|,(,and)losetheirspecialmeaning;in

linux - 我的正则表达式在 grep 中不起作用

这是我正在处理的文件的文本:(4spaces)Hi,everyone(1tab)yes当我运行此命令时-grep'^[[:space:]]+'myfile-它不会将任何内容打印到标准输出。为什么它与文件中的空格不匹配?我使用的是GNUgrep2.9版。 最佳答案 有几种不同的正则表达式语法。grep的默认语法在grep文档中称为basic语法。来自mangrep(1):Inbasicregularexpressionsthemeta-characters?,+,{,|,(,and)losetheirspecialmeaning;in

linux - 使用 git grep 时自动换行

我正在尝试从终端运行gitgrep(使用Titanium)。结果不会换行并在窗口处被切断,所以我无法阅读任何内容。我试着搞乱配置但什么也得不到。如何让这些grep结果换行? 最佳答案 你有没有在你的.gitconfig中设置core.pager?如果您正在使用less,您可以通过按键盘上的右箭头键来查看额外的字符。编辑:即使我取消设置core.pager,gitgrep似乎也会调用less-S默认。编辑2:糟糕,正如KeithThompson指出的那样,less默认情况下会自动换行。从手册页:-Sor--chop-long-line

linux - 使用 git grep 时自动换行

我正在尝试从终端运行gitgrep(使用Titanium)。结果不会换行并在窗口处被切断,所以我无法阅读任何内容。我试着搞乱配置但什么也得不到。如何让这些grep结果换行? 最佳答案 你有没有在你的.gitconfig中设置core.pager?如果您正在使用less,您可以通过按键盘上的右箭头键来查看额外的字符。编辑:即使我取消设置core.pager,gitgrep似乎也会调用less-S默认。编辑2:糟糕,正如KeithThompson指出的那样,less默认情况下会自动换行。从手册页:-Sor--chop-long-line

linux - 在 Linux 中打印 find 命令结果的 md5sum

我正在尝试对我在目录及其子目录中找到的所有.jar文件执行校验和。然后将带有校验和值的文件名打印到文件中。这就是我的。md5sum|find-name*.jar>result.txt我正在尝试将两个我知道可以单独工作的命令连接在一起。感谢任何帮助。 最佳答案 您可以使用类似这样的方法对每个文件执行命令:find.-name"*.jar"-execmd5sum{}\;>result 关于linux-在Linux中打印find命令结果的md5sum,我们在StackOverflow上找到一个

linux - 在 Linux 中打印 find 命令结果的 md5sum

我正在尝试对我在目录及其子目录中找到的所有.jar文件执行校验和。然后将带有校验和值的文件名打印到文件中。这就是我的。md5sum|find-name*.jar>result.txt我正在尝试将两个我知道可以单独工作的命令连接在一起。感谢任何帮助。 最佳答案 您可以使用类似这样的方法对每个文件执行命令:find.-name"*.jar"-execmd5sum{}\;>result 关于linux-在Linux中打印find命令结果的md5sum,我们在StackOverflow上找到一个

linux - 管道 `find` 到 'tail`

我想获取查找输出的最后两行并将它们复制到某处。我试过了find.-iname"*FooBar*"|tail-2-execcp"{}"dest\;但输出是尾部的“无效选项--2”。此外,我的文件或目录名称包含空格。 最佳答案 以下内容绝对适用于任何路径。声明一个函数能够useheadandtailonNUL-separatedoutput:nul_terminated(){tr'\0\n''\n\0'|"$@"|tr'\0\n''\n\0'}然后您可以使用它在通过tail后从您的搜索中获取以NUL分隔的路径列表:find.-execp

linux - 管道 `find` 到 'tail`

我想获取查找输出的最后两行并将它们复制到某处。我试过了find.-iname"*FooBar*"|tail-2-execcp"{}"dest\;但输出是尾部的“无效选项--2”。此外,我的文件或目录名称包含空格。 最佳答案 以下内容绝对适用于任何路径。声明一个函数能够useheadandtailonNUL-separatedoutput:nul_terminated(){tr'\0\n''\n\0'|"$@"|tr'\0\n''\n\0'}然后您可以使用它在通过tail后从您的搜索中获取以NUL分隔的路径列表:find.-execp

linux - 在将 tail -f 的输出通过管道传输到 grep 后写入文件

我希望在将tail-f的输出通过管道传输到grep后写入文件。比如说,将错误日志“FreeSwitch.log”中包含“Playing:”的所有行写入文件“temp”。tail-f"/var/lof/freeswitch/freeswitch.log"|grep"Playing:">temp但不工作!这是centos5.5 最佳答案 也许您遇到缓冲问题?参见BashFAQ:Whatisbuffering?例如,您可以尝试:tail-f/var/lof/freeswitch/freeswitch.log|grep--line-buff