同时使用–ignore-case和–only-match选项时,grep会失败。 例: $ echo "abc" | grep -io abc abc $ echo "ABC" | grep -io abc $ 但 $ echo "abc" | grep -i abc abc $ echo "ABC" | grep -i abc ABC 根据手册页: -o, –only-matching Show only the part of a matching line that matches PATTERN. -i, –ignore-case Ignore case distinctions in […]
我有一个文本文件,包含如下所示: 12,34 EUR 5,67 EUR … 在'EUR'之前有一个空格,我忽略了0,XX EUR。 我试过了: grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match ! grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked ! 有人可以解释我,为什么我不能使用\s但\s*和\s[E]匹配? 操作系统:Ubuntu 10.04,grep v2.5
我需要使用chmod将所有文件recursion更改为664.我想跳过这些文件夹。 我正在考虑这样做 ls -lR | grep ^-r | chmod 664 这不工作,我假设,因为我不能pipe入chmod任何人都知道一个简单的方法来做到这一点? 谢谢
我想对通常有很长行的HTML文件运行ack或grep。 我不想看到很长的行重复包装。 但是我确实希望看到围绕与正则expression式匹配的string的那一部分。 我怎样才能得到这个使用Unix工具的任何组合?
% cat temp $$$ hello1 $$ hello2 hello3 ## hello4 hello5 $$$ % cat temp | grep "$$$" Illegal variable name. % cat temp | grep "\$\$\$" Variable name must contain alphanumeric characters. % 我希望grep为$$$ ,我期望的结果是 % cat temp | grep <what should go here?> $$$ hello1 hello5 $$$ % 为了区分,我将提示标记为% 。 这里有什么问题? grepstring应该是什么?
FILE : hello world foo bar 如何删除这个FILE中的所有空的新行? 命令输出: FILE : hello world foo bar
我有一个文件A与100个单词分隔新行。 我想search文件B来查看文件A中是否有任何单词出现在文件中。 我尝试了以下,但不对我工作: grep -FAB
我知道,如果我只想在某些扩展名的文件上grep一个模式,我可以这样做: // searches recursively and matches case insensitively in only javascript files // for "res" from the current directory grep -iIr –include=*.js res ./ 我一直在试图通过git grep来寻找一种方法(利用git grep的速度来存储树中的索引),但是无济于事。 我在这里看到,排除某些文件types是不可能的。
您好我正在尝试使用grepsearch我的rails目录。 我正在寻找一个特定的单词,我想grep打印出文件名和行号。 有一个grep的标志,将为我做这个? 我一直在尝试使用-n和-l的组合,但是这些都是打印没有数字的文件名,或者只是倾倒出大量的文本到terminal,这是不容易阅读。 例如: grep -ln "search" * 我是否需要将它连接到awk?
我有一个日志文件(application.log),它可能在多行中包含以下string的常规和特殊字符: *^%Q&$*&^@$&*!^@$*&^&^*&^& 我想search包含这个特殊string的行号。 grep '*^%Q&$*&^@$&*!^@$*&^&^*&^&' application.log 上述命令不会返回任何结果。 什么是正确的语法来获得行号?