Articles of grep

寻找shell命令来读取最常见图像types的非二进制部分

我在专用服务器上托pipe的网站已被黑客入侵。 一些图片已经被感染了像<?php eval(base64_decode(….));?> 。 我正在寻找一个通用的shell命令,可以读取最常见的图像types(jpg,gif,tiff等)的标题。 我尝试了jhead和其他人,只能从JPG读取EXIF数据。 目标是find像这样的所有感染的图像: find -type f \( -iname "*jpg" -or -iname "*.jpeg" -or … \) -exec sh -c 'magicimgheadersdisplay "{}" | grep eval" \;

在导入之前使SQL转储中的电子邮件地址无效

概要 我想将生产数据导入到开发环境中,以便能够以几乎准确的方式进行testing。 当然,我需要使电子邮件地址无效,因为我不想让电子邮件到达最终用户。 资源 只是一个侧面说明 – 我的expression式故意匹配[']作为查询语法的一部分 到目前为止,我有以下使用grep这是testing我的expression。 $ cat site_backup.sql | egrep -io '\w+([._-]\w*)@\w+([._-]\w*)\.\w{2,4}' 这是打印的电子邮件地址,但我当然需要使用sedreplace: $ sed -r -e "s/'(\w+)([._-]\w*)@(\w+)([._-]\w*)(\.\w{2,4})'/\1\2@invalid.\3\4\5/g" -i site_backup.sql 在一小部分电子邮件地址上工作正常; 我注意到了一个没有被replace的模式'[email protected]' 结论 在为此添加另一个expression式之后,它没有任何影响。 我还没有研究过awk ,我知道这个awk非常强大,所以我并不是无知,我希望有人能帮上忙。 我的目标很简单,我使用mysqldump导出生产数据库,然后希望在将数据导入到开发环境之前,replace所有的电子邮件地址(或尽可能多的)。 我可能从一个尴尬的angular度做这个?

使用(查找生成的)文件格式化文本文件,但忽略path

我收到一个用find生成的巨大文本文件。 生成的文本文件的内容是具有完整path的文件引用,即: //server/dir1/dir1foobar.ext //server/dir1/dir2/dir1bar.ext //server/dir1/dir2/dir1.ext //server/dir3/dir4/dir4.ext //server/dir5/dir6/dir7/dir1foo.ext //server/dir1/dir2/dir3/dir2.ext //server/dir3/dir4/dir5/dir6/dir3.ext (文件名和path是随机的,所以我不能始终从开始或结束的位置n开始) 我需要grep这个文本文件的特定模式,写入结果(这需要一个完整的行匹配)到一个新的(sortingsort )文件,但也需要忽略任何不是文件名的匹配。 所以,用我上面的示例行,我有一个search模式“dir1”,结果必须是包含这些行的新文件: //server/dir1/dir1foobar.ext //server/dir1/dir2/dir1bar.ext //server/dir1/dir2/dir1.ext //server/dir5/dir6/dir7/dir1foo.ext 我尝试用sort -f -u $textfile | grep -i $pattern > $newfile sort -f -u $textfile | grep -i $pattern > $newfile不成功,因为当目录包含模式时,grep也会匹配,这将导致//server/dir1/dir2/dir3/dir2.ext的“false”匹配。 我读了grep手册,正则expression式可能与选项-G但不能摆脱任何方式grep只在文件名部分行。

无法使用grep正则expression式来search包含句点的文件名

Ubuntu 14.x. 使用grep来search所有文件linuxtest-client2 。 这包括多个文件扩展名(csr,crt,key)。 当我grep的中间部分的文件名“2”,它也返回包含“2”除了“2”的行。 当使用ls -l。 这会导致返回文件大小,date和时间中具有“2”的结果。 为什么文件大小在这个grep后面没有句点的时候触发? root@ip-10-198-0-205:/etc/easy-rsa# ls -ltr keys/ | grep -E '*2.*' total 228 -rw——- 1 root root 3272 Oct 15 18:28 ca.key -rw-r–r– 1 root root 2451 Oct 15 18:28 ca.crt -rw——- 1 root root 3268 Oct 15 18:31 server.key -rw-r–r– 1 root root 769 Oct 15 18:42 […]

如果它包含来自bash文件的特定匹配项,则删除一行

我有一个文件包含如下所示的行。 10 TEST NO SOMETHING 20 TEST YES SOMETHING 101 TEST YES SOMETHING 100 TEST NO SOMETHING 如果我find一个匹配的单词10 ,我怎样才能删除开始时使用sed或任何其他工具的10 ?

如何杀死/closures通过lsof grep打开的日志文件被删除?

我从我们的服务器中删除了一个大的日志文件。 所以我执行这个命令来validation。 lsof -nP | grep '(deleted)' 这显示出来了。 我怎样才能永久删除这个lsof的结果? 我需要在我们的硬盘上找回需要的空间

更优雅ps aux | grep rep不起作用

我正在运行命令: ps -ef | grep [p]ts/1 ps -ef | grep [p]ts/1 结果是: root 13820 1733 0 14:19 ? 00:00:00 sshd: root@pts/1 root 13822 13820 0 14:19 pts/1 00:00:00 -bash root 15847 13822 0 15:32 pts/1 00:00:00 ps -ef root 15848 13822 0 15:32 pts/1 00:00:00 grep [p]ts/1 为什么它返回grep和ps ? PS单引号和双引号给了我相同的结果。 我能够使用grep -v grep工作得到没有“grep”的输出,但我想用更优雅的方式。

如何通过MIMEtypes过滤HTTP请求URL?

我试图做一个shell脚本,通过MIMEtypes筛选HTTP请求的URL。 (例如:image / jpg图片) 我使用tcpdump来嗅探数据包和grep来过滤http标头。 这是我目前的命令: echo <password> | sudo -S tcpdump -vvAtp -i en5 tcp port 80 | grep -E GET\|Content-Type:.*image.* 这将过滤http URL和内容types标题。 我想要一些改进,但我不知道如何做到这一点: 仅当Content-Type是图像时打印URL。 GET之前没有换行符,所以在GET之前添加了脏字符。 我想删除这些字符。 如果可能的话,包括“GET”或“HTTP 1.1”本身。

Egrep正则expression式抑制某些行

我尝试使用以下命令来抑制包含string“DST = 192.168.1”或“DST = 192.168.2”的某些行输出 tail /var/log/messages | egrep -v -e 'DST=(192\.168\.1\.1)|DST=(192\.168\.2\.1)' 我的正则expression式不起作用,有人可以给我一个工作吗?

工具来分析/ grep日志文件

是否有任何基于Web的graphics用户界面来分析或实时从Apache过滤/ grep日志文件? 日志文件是访问日志或错误日志或后缀日志等 编辑:我不是指stream量分析。 更多关于grep错误日志来查找一些错误path。 定位php致命错误,或错误日志中的exception,主要是tail + grep exersize。