有没有什么方法可以让我在搜索某个东西时使用grep忽略某些文件,相当于svnignore或gitinore?我通常在搜索源代码时使用类似的方法
grep -r something * | grep -v ignore_file1 | grep -v ignore_file2
即使我可以为grep设置一个别名来忽略这些文件也很好
find . -path ./ignore -prune -o -exec grep -r something {} \;
这样做的目的是查找当前目录中的所有文件,不
我对格雷普有一个非常基本的困惑。假设我有一个要grep的文件:
test.txt:
This is an article
from some newspaper
Article is good
newspaper is not.
现在,如果我用下面的表达式grep
grep -P "is\s*g" test.txt
我明白了:
Article is good
但是,如果我这样做:
grep -P "is*g" test.txt
我什么也没得到。我的问题是,因为asterix*是一个通
我有下面的find命令..有没有办法将find限制为仅*.py文件
find . | xargs grep 'GIT' -sl
谢谢,您已经在使用find,所以它很简单。这里有一个方法:
find . -name '*.py' -print | xargs grep 'GIT' -sl {}
是的。大多数版本的find将识别您在-name选项中提供的任何通配符:
find . -name \*.py | xargs grep 'GIT' -sl
是的,您可以只使用星号(*):
find .
我正在尝试从“/usr/local/apache/conf/httpd.conf”导出域名,文件中的域名如下所示:
ServerName www.site.com
ServerName www2.site.org
我尝试使用:
cat /usr/local/apache/conf/httpd.conf | grep ServerName
但输出将包含:
# ServerName allows you to set a host name which is sent back to clien
我有一些防火墙日志,我想找到多个唯一的值。我需要在/var/log/iptables中找到源IP和目标端口的每个独特组合,它们是这种格式的
SRC=123.123.123.123
DPT=137
所以,如果源IP 123.123.123.123在多个端口上多次出现,我希望看到,但是,对于每个SRC/DPT组合,只出现一次
谢谢 此awk解决方案可能会有所帮助。第一个awk命令将每对连续的SRC和DPT行组合成一行。该命令的输出随后通过管道传输到第二个awk命令,该命令提供唯一的输出,保留原始顺
我试图在一些包含整数列表的文本文件中找到异常。有没有办法在多个文件中搜索大于x的数字?我正在尝试查找1000毫秒以上的ping异常,我只想搜索文件夹中的文件。这就是我如何获得理想结果的原因:
alex@porcellino:/tmp/test$ ls
a b
alex@porcellino:/tmp/test$ cat a
1
2
16
4
7
alex@porcellino:/tmp/test$ cat b
5
6
89
11
alex@porcellino:/tmp/test$ for n
我写了一篇很长的论文(用乳胶写),需要把10以上的数字从文字改为数字(如13到13,20到20)
bsd游戏包包含节目编号,可将数字转换为数字,例如:
>号码-l 1234
壹仟贰佰叁拾肆元
我可以用seq得到10:1000的数字序列:
>序号10 1000
现在,我需要做的就是将我所有的latex文件(*.tex)中的数字单词(10以上)进行grep,这样我就知道在哪里可以找到有问题的数字单词,而不必通读整个论文
因此,为了明确我的要求:grep一个文本文件,以查找10到1000之间的所有书面
如果我在一个巨大的目录树上运行grep-lr“search terms”。我几乎可以立即得到匹配文件的列表。但如果我忘记了圆点,它可能会永远运行。它在干什么?每当我犯了这个错误,我必须按住ctrl-z键,然后关闭后台进程。ctrl-c只起到一半的作用。在没有文件名或只有一个连字符的情况下调用grep会告诉它搜索标准输入。它正在等待您的输入。如果您键入的句子中包含搜索词,它将返回突出显示的匹配部分
我想检查iptables规则是否存在(如图所示),但出现以下错误:
$ sudo iptables-save | grep "-A OUTPUT -p tcp --tcp-flags RST RST -j DROP"
grep: OUTPUT -p tcp --tcp-flags RST RST -j DROP: invalid context length argument
也许我要逃避一些角色 问题
grep“-A输出-p tcp--tcp标志RST-j DROP”
对于许多shel
我将需要grep一个变量作为变量模式
像这样
foo="--test2"
bar="--test"
echo "${foo}" | grep "'${bar}'"
不幸的是,它不起作用
关于如何实现这一点有什么想法吗?您的模式以-领先,需要-e选项
这一行应该适用于您的示例:
echo "${foo}" | grep -e "${bar}"
您的模式以-开头,需要-e选项
这一行应该适用于您的示例:
echo "${foo}" | grep -e "${bar}"
如果使用单引号,它将
标签: Grep
pattern-matching
内容如下:
client_name:
client_since:
client_address:
client_city:
client_country_code:
contact_number:
<some number 1>
<some number 2>
client_account_number:
client_bank_name:
客户端名称:
客户单位自:
客户地址:
客户城市:
客户\国家\代码:
联络电话:
客户账号:
客户\
我有两个文件
文件A:
A
B
C
档案室:
C
D
E
如何使用grep查找文件B中与文件A不匹配的数据点?理想情况下,我希望文件C(输出)包含:de
我试过:
grep -v File_A File_B > File_C
它不起作用,因为它返回了整个文件
(我知道要找到两个文件之间的交点,我可以执行grep File\u A File\u B>File\u C)就是这样:
root@zim:~/testing# cat file_a
A
B
C
root@zim:~/te
如何使用编辑器(比如vi)查看具有特定匹配内容的文件
例如,我希望以递归方式搜索类似“采购订单”的内容,并加载包含该内容的文件如果您希望迭代grep expression的结果并使用vim打开每个结果,请执行以下命令:
for file in `grep -l "Purchase Order" *`; do vi $file ; done
您想要1个vi会话,即vi a.txt b.txt c.txt还是多个会话,即vi a.txt;vi b.txt;vi c.txt?一个
我在sed和cut过滤器中使用了grep命令,它基本上将我的输出转换为类似的内容
this line 1
this line 2
another line 3
another line 4
我试图得到一个输出,在行间和行前没有空格,所以看起来
this line 1
this line 2
another line 3
another line 4
我想添加另一个| filter添加此过滤器以删除行首的空格和空行,请
我正在用Bourne Shell脚本构建一个学生数据库。我需要能够更新以前输入到文件中的一行数据,我很难弄清楚如何做到这一点。这就是我尝试过的:
echo "please enter the name: \c"
read updateInput
updateNumber=$(grep -cwi $updateInput database.txt)
if [ "$updateNumber" -gt "1" ]
then
echo "ambigu
我正在尝试搜索systemd.service文件,但ack似乎找不到任何东西。我尝试了这些选项,但没有效果:
ack --type-set sysd=.service --sysd MAINPID
ack --all MAINPID
ack --unrestricted MAINPID
使用类型集时ack重新识别新类型:
# ack -type-set sysd=.service --help types | grep sysd
--[no]sysd .service
使用g
当我这样做时:
grep -R "fileName.map" .
grep不返回任何内容
当我这样做时:
grep -R fileName.map .
它给我回了很多行。为什么第一个不起作用?两者应返回相同的结果。也许这比你在问题中发布的内容更重要。@Jotne你的编辑修改了OP使用的命令。@devnull奇怪,我只添加了代码标记。查看编辑历史记录似乎一切正常。@程序员,您指定了目录名吗?@Jotne:不,您不仅仅添加了代码标记。您在末尾删除了作为grep命令一部分的句点。这完全改变了命令
嗨,谁能告诉我这个表达是什么意思吗
ls -lrt *.txt|egrep -v " (*.?) (*.?) (*.?) 0 (*.?) (*.?) (*.?) "
非常感谢您的任何见解
ls -lrt
列出文件(ls),详细视图(-l),按修改时间(-t)向后排序(-r)
列出所有按时间排序的文本文件,输出如下
$ ls -ltr
drwxr-xr-x 2 root root 4.0K Mar 5 2012 selinux
drwxr-xr-x 2 root root 4.
我在傅命令线上看到的。我检查了手册页,但找不到,可能是我错过了。从grep手册页:
-C NUM,-NUM,--context=NUM
打印输出上下文的行数。放置包含组分隔符的行(在--group separator下描述)
相邻组之间
一对火柴。对于-o或--only匹配选项,这没有任何效果,并且会发出警告
因此,grep-2相当于grep-c2,它告诉grep在匹配前后显示两行
grep -2riP
通过正则表达式一次搜索各种文件时,如何显示每个文件的grep计数
grep -c -? somestring log*
因此,如果我有n个文件log_1,log_2,log_3,…,log_n和I grep-c作为somestring,那么我希望输出是
log_1 'result of grep -c in file log_1'
log_2 'result of grep -c in file log_2'
我可以用grep命令来实现这一点,还是必须构造某种循环?来自almas shaik
我们有一个错误日志目录结构,其中我们将特定日期的所有错误日志文件存储在datewise目录中-
errorbackup/20150629/errorlogFile3453123.log.xml
errorbackup/20150629/errorlogFile5676934.log.xml
errorbackup/20150629/errorlogFile9812387.log.xml
errorbackup/20150628/errorlogFile1097172.log.xml
errorb
我想在我的zip文件中做一个grep
当我尝试使用zgrep时,它不起作用,因为当我尝试使用command时
文件
它将文件返回为PKZIP:compressed archive
Zgrep似乎无法在pkzip文件下工作
有人能帮我吗?如果你有多个grep要做,一个(沉重的)方法是在挂载目录中挂载zip和grep文件
如果我cat包含mysqld\u safe和mysqld的文本文件,那么grep-w将按预期工作。但是,当使用PS输出进行管道传输时,它不起作用
ps -ef | grep -w mysqld
输出是两行的
/usr/bin/mysqld_safe
/usr/libexec/mysqld
我只需要mysqld。我知道排除选项grep-v mysqld\u safe
Version-grep(GNU-grep)2.5.1如果您有pgrep,使用pgrep-x mysqld将是比ps+grep
标签: Grep
uppercaselowercase
我正在转换一系列(Progress)程序,以便在linux上使用(以前在Windows上使用过),我正在寻找一种方法来grep程序名的大小写,例如“skip_xref.I”或“NO_dt2.I”。
如何实现这一点?您可以使用ls-l | grep'pattern1\| pattern2'
(假设您位于要搜索程序的目录中)
进行web搜索,阅读有关generalregexbasics的更多信息,以获得所需的模式。要查找文件名,您不能使用grep,您需要使用find
您可以在find中使用正则表达式
我知道如何使用grep在文件中搜索字符串
grep -Flr --include "*" 'string' files/
但是,如何搜索右双角引号?因为字符不会出现在终端中。如果您谈论的是ANSI字符集而不是Unicode,则双角引号是ASCII码174
你可以试试
grep`echo\256`文件
256是的八进制ASCII值,您的意思是当您键入命令时它不会出现吗?
我不记得递归搜索“-R”命令行开关是在grep中引入的,但现在我无法想象没有它的生活
它唯一的问题是,如果递归中的任何目录与文件名通配符不匹配,grep-R将停止,并且将无法报告确实产生积极搜索结果的目录和文件
例如:
grep -R skeleton_app *.xml
将只报告
AndroidManifest.xml: <application android:label="@string/skeleton_app">
将报告所有:
AndroidManifest.
我对特定模式的grep-c命令返回如下文件
A:2
B:6
c:1
d:9
现在我想根据这个命令对文件进行排序。所以我的最后一次行动是
c:1
A:2
B:6
d:9
如何同时使用grep和sort?grep-c*| sort-n-k2-t:
-k2更改键字段,-t:将字段分隔符设置为:(-n表示数字排序)我想这样做:
grep -c $pattern A B c d | sort -n -t: -k2
-n表示数字排序,-t:表示列分隔符为:,-k2表示考虑第二列进行排序。由于某种原因,
我正在浏览本地svn目录。当我运行grep-r“pattern”时,会出现一些错误,例如
grep:./Data/test:没有这样的文件或目录
谁要求grep查找不存在的文件
默认情况下,grep不会忽略不存在或不可读的文件。为此,您需要提供-s或--no messages选项。引用自曼格瑞普的话:
什么是/Data/test?当grep遇到指向不存在文件的符号链接时,它会抛出这种类型的错误。@j.w.r似乎是一个断开的符号链接(根据file命令)。不存在的示例的副本将是一个断开的符号链接。
我正在编写一个csh脚本,它将从文件xyz中提取一行。
xyz文件包含若干行代码,我感兴趣的行显示在文件的2-3行之后。
我尝试了以下代码
set product1 = `grep -e '<product_version_info.*/>' xyz`
set product1=`grep-e''xyz`
我希望它的方式是,当脚本发现该行时,它应该将该行保存在某个变量中作为字符串&立即终止读取文件,即,在提取该行后,它不应该进一步读取
请帮忙 我认为您要求返回文件中的第一行匹配内
在文件夹中,有很多文件,文件名中包含时间戳信息,例如
callMic-13501358220-414404433.caf (414404433 is the timestamp)
callMic-18901111584-414235643.caf
....
我还有一个文本文件(timestamp.txt),可以用作口述。文本文件每行包含大量时间戳,如下所示
414247851
414235643
414226229
....
..
我想列出所有不包含timestamp.txt中列出的时间
我正在使用带-f选项的grep
$grep -f pattern_list.txt data.txt
在屏幕上,我看到整个data.txt和屏幕上突出显示的匹配模式(来自pattern_list.txt文件)。所以我相信搜索是可以的。但是我只想得到pattern_list.txt中带有模式的那些行,而不是带有一些突出显示的整个文件
这是因为当我试图将结果存储在单独的文件output.txt中时,我得到了data.txt的副本!!这是一致的:无论我在屏幕上得到什么结果,都会被传输到output
我想grep“[calleruid]=aab01b055-89e3-49f3-839e-507bb128d07e&smscresponse”
在下面的文件中
2014-10-15 18:38:32,831 plivo-rest[2781]: INFO: Fetching GET http://*******/outbound_callback.aspx with smscresponse[to]=8912722fsf9&smscresponse[ALegUUID]=5bb516fsd64
我即将从中得到我所需要的:
grep -o '<div class="item">.*</div>' file.html > result.html
但是我越来越
<div class="item">text</div><h3>Hello</h3><div class="item">text2</div>
textHellotext2
如何更正?尽管我建议使用专门的工具来解析HTML或XM
我试图在目录中搜索文本,结果发现以下语法不会返回任何结果
ack -i "0xabcdef" ./
ack -i "0xabcdef"
ack -i "0xabcdef" .
当以下命令起作用时
ack -i "0xabcdef" *
有人能解释为什么会这样吗?*的意义是什么。我还注意到该目录有符号链接您不必指定要确认的目录。默认情况下,它深入当前目录
我还注意到目录中有符号链接
然后,一个很好的方法是查看手册,或者查看man ack或ack-man,然后搜索链接。您将发现的第一个选项是
我正在尝试grep我的回购搜索@签名以查找一些电子邮件地址,因为
我在终端中键入grep-rnw'/my/path'-e'@',得到:
为什么会这样
S.S.我认为图片中没有敏感信息,但有人请告诉我,如果你认为有。 如果你只对.git文件夹中的文件有问题,你可以考虑从递归GRIP中排除它,如
上的p>,可能不包括那个选项。 如果您只对.git文件夹中的文件有问题,您可以考虑将其从递归的GRIP中排除,如
在CentOS上,可能不包括该选项。但它在.git文件夹中搜索我在配置中查找任何电子邮件时
我在一个目录中对一堆文件进行greping,如下所示
grep -EIho 'abc|def' *|sort|uniq -c >>counts.csv
我的输出是
150 abc
130 def
我需要的是当前日期(-1)和下面类似的grep结果插入counts.csv
5/21/2018 150,130
我会的
根据您的示例数据,它给出:
05/21/18,150,130
是否可以添加两个示例输入文件,每个文件有2-5行?这将有助于测试和提出解决方案。。此外,使用的gr
我想知道除了命令之外,是否有一个Ansible模块可以给我一个包含模式的文件列表(递归搜索)
在Unix上,我会这样做
find . -type f -exec grep -l pattern {} \;
结果将是一个文件列表,我将迭代以使用另一个值更改一个值您可以使用。包含参数接受正则表达式以搜索文件内容:
- name: Find files
find:
paths: /var/log
contains: pattern
register: found_files
您好,我怎样才能只匹配:标记之前的grep
如果运行greptest1文件,它将显示所有三行
test1:x:29688:test1,test2
test2:x:22611:test1
test3:x:25163:test1,test3
但是我想得到一个输出test1:x:29688:test1,test2
非常感谢您的建议。如果所需的行始终以test1开头,那么您可以执行以下操作:
grep '^test1' file
如果它后面总是跟着:,而不是其他(潜在)匹配项,则可以将其作为模式的一
基于“大文件”文件大小、“小文件”文件大小和我使用的机器,在具有多个内核的单机上使用GNU并行运行grep时,如何设置块大小参数,以获得尽可能快的性能(或者如果这里缺少其他内容,请纠正我)?当设置过高或过低时,我会遇到哪些性能问题/速度瓶颈?我理解块大小的作用,因为它将大的_文件分成块,并将这些块发送到每个作业,但我仍然不知道这将如何以及为什么影响执行速度
有关指挥部:
parallel --pipepart --block 100M --jobs 10 -a large_file.csv gr
我查看了以前的帖子,但没有找到任何适合我的。我有一个日志文件,由于我对脚本所做的更改而导致的反复出现的错误而变得巨大。我想删除包含此错误消息的所有行
当我跑的时候
sudo tail -1000000 /var/log/kannel/MT.usage.log|grep 'utf-8'
我从日志文件中显示所有看起来像
...[22297] [3] ERROR: Failed to convert string from <utf-8> to <UTF-16BE>, err
我正在读卡梅隆·纽厄姆的《学习狂欢节》。在那本书中有以下几行代码
`
`
我试图理解{}在这里的意义{42}。我看到反斜杠脱离了大括号,但我发现很难理解大括号在这个正则表达式中扮演什么角色 在正则表达式中,表达式后面包含数字的大括号表示重复。在此正则表达式中,\{42\}表示匹配任何字符的42,在正则表达式中,{n}表示“匹配上一个字符的n”。在本例中,扩展名为“^:在字符串的开头,:匹配任何字符,{42}42次,$date:后跟此文本(即$date,即$1,即传递到lsd)中的内容).我猜是\
我想要一个命令,它可以在Red Hat中匹配以下所有条件:
·number range between 0100xxxx to 0110xxxxx
·And have money over 300
·Status either X or Z
·id contains letter ‘a’
·Error_code starting with 2
号码、金钱、状态、错误代码、id
grep只匹配文本,awk更灵活,应该更适合您的情况。例如:
awk'BEGIN{FS=“,”}$2>300{prin
我正在二进制文件上使用grep命令(包括-a标志),希望输出--二进制偏移量或-b标志,而不实际打印匹配,因为二进制数据对我来说是无用的,并且会导致终端行为异常(我猜终端正在将一些二进制文件解释为终端命令)
目前,我正在使用以下命令:
dd…2>/dev/null | grep-abFf-file\u to\u search
在文件中搜索二进制字符串(结果dd)
输出如下所示:
offset:[二进制字符的大字符串]
如何只打印偏移量(没有大的二进制字符串)?不太清楚“大的二进制字符串”中的内容
我有一个大的文本文件,其中包含很多以下模式
because of,this
or that,has
or,not
当然,我想改变以下几点
because of, this
or that, has
or, not
我想在每个之后插入一个空格,
如何使用BBEdit Find/Replace/Grep实现这一点
找到合适的工作
[\,](\w)
但我无法找出需要更换的相应部件。我使事情复杂化了
类似于字母、字母的模式也可以通过,\b找到
\b在单词的开头或结尾\b在正则表达式中表示“单
标签: Grep
environment-variablesjq
我只想从环境中获取AWS_uu;environments变量,并将它们输出到JSON中。
通常,执行env | grep AWS|会向我显示正确的env变量,而jq-n env会将整个env显示为JSON
我试过:
jq -n $(env | grep AWS_)
及
两者都没有成功。有很多选择,但正如您所指出的,jq有一个为您生成JSON的env过滤器,因此使用它而不必调用grep,然后解析输出以将其转换为JSON是有意义的。例如:
jq -n 'env | with_entries(se
我一直在谷歌上搜索,但我找不到我想要的答案
假设我在目录mydir中有一个文件text1.txt,其内容是:
one
two
two
three
four
另一个名为text2.txt,也在mydir中,其内容如下:
one
two
two
three
four
我正在尝试获取一个文件列表(针对给定目录),其中包含我搜索的所有(而不是任何)模式。在我提供的示例中,我正在寻找以下内容的输出:
./text1.txt
或
我唯一能找到的是关于匹配文件中的任何模式,或者匹配单个文件中的多个模
情况如下:我必须在hextump的输出中找到字符串a和字符串B之间的字节。hextump的结构类似于:
-random bytes
-A + useful bytes + B
-random bytes
-A + useful bytes + B
-random bytes
现在,问题是:
-有可能把“从A到B”grep吗?我在手册页或互联网上都没有看到类似的内容。我知道我可以手动完成,但我需要编写脚本。
-是否可以在不显示行号的情况下显示hextump输出?这似乎很合理,但我还没有找到办法
我只需要grep md5散列
这是散列
MD5 (mt.pm) = adcddd9492c707642d2bcffbfc67b7a6
它需要看起来像这样
adcddd9492c707642d2bcffbfc67b7a6
或者反过来做
crapb0c63a3cb776502fe03706b2fd540439/home/mta.pm”
只得到散列
现在你知道怎么做了吗
任何有关grep的帮助,请执行以下操作(这根本不起作用):
或者您可以使用sed:
sed 's/.*= *\([a-z0-9]
我想知道在一个unix目录中是否有任何脚本使用一个特定的表作为select*。表示我要从tablename中查找select*。现在,在select之后,可以有任意数量的空格或换行符,如select*from tablename让我们将其作为测试文件:
$ cat file
select
*
from
tablename
使用grep:
$ grep -z 'select\s*[*]\s*from\s*tablename' -- file
select
*
f
我尝试使用grep在第二个文件中使用模式列表对文件进行子采样。然而,每当我运行它时,grep只返回第一个文件中的所有内容
grep -A1 -w --file=Fmerg_U1_filtering.txt Fmerg_final.fasta
然而,当我使用这个更麻烦的方法时,它工作得非常好
#!/bin/bash
while read i; do
grep -A1 -w $i Fmerg_final.fasta
done < Fmerg_U1_filtering.txt
很可
1 2 3 4 5 6 ...
下一页 最后一页 共 8 页