用grep写shell的时候,发现一个很奇怪的问题,当我用命令grep搜索数据时,返回的多行数据时是按每行显示的,但是当我在shell里把这个搜索命令赋值到变量后,输出这个变量,就变成一行输出了,百度也查不到,有什么办法解决么?
[root@wangc TP]# top -bHn 1 | grep -ri telnetd
4776 root 15 0 3360 1100 892 S 0.0 0.0 0:00.31 telnetd
18133 root 16 0 4464 1100 892 S 0.0 0.0 0:00.01 telnetd
18325 root 15 0 2784 1096 892 S 0.0 0.0 0:00.01 telnetd
31130 root 15 0 2768 1104 892 S 0.0 0.0 0:00.12 telnetd
31416 root 15 0 4524 1100 892 S 0.0 0.0 0:00.08 telnetd
shell脚本:
[root@CrossCompileServer188 TP]# cat lcs_search.sh
#! /bin/sh
echo -e $(top -bHn 1 | grep -ri telnetd)
执行结果:
4776 root 15 0 3360 1100 892 S 0.0 0.0 0:00.31 telnetd 18133 root 16 0 4464 1100 892 S 0.0 0.0 0:00.01 telnetd 18325 root 15 0 2784 1096 892 S 0.0 0.0 0:00.01 telnetd 31130 root 15 0 2768 1104 892 S 0.0 0.0 0:00.13 telnetd 31416 root 15 0 4524 1100 892 S 0.0 0.0 0:00.08 telnetd
解决方法:
echo -e "$(top -bHn 1 | grep -ri telnetd)"
把变量加上引号就可以了。
问题:用grep写shell的时候,发现一个很奇怪的问题,当我用命令grep搜索数据时,返回的多行数据时是按每行显示的,但是当我在shell里把这个搜索命令赋值到变量后,输出这个变量,就变成一行输出了,百度也查不到,有什么办法解决么?命令:[root@wangc TP]# top -bHn 1 | grep -ri telnetd4776 root 15 0 3360 1100 8...
#!/bin/bash
echo ggjob-search...
pid=`ps -ef|grep -w ggjob-search|grep -v grep|grep -v ggjob-search.sh|awk '{printf $2}'`
echo having kill pid:$pid
kill -9
使用grep过滤掉无用信息,执行 udhcpc | grep “DNS”
使用sed抓取第二行,-n ‘2p’代表第二行,-n ‘1,3p’代表第一到三行,以回车换行符区分。执行 udhcpc | grep “DNS” | sed -n ‘2p’
使用awk抓取第四列,$4代表第四列,以空格区分。执行 udhcpc | grep “DNS” | sed -n ‘2p’ | awk ‘{print $4}’
最后使用tr去除字符串最后的\n,默认会包含。执行
GREP 是 GlobalRegular Expression Print 的缩写
对于标准输入的每一行,grep执行以下的操作:
(1) 把下一输入行复制到模式空间中. 模式空间是只可保存一个文本行的缓冲区.
(2) 对模式空间应用正则表达式.
(3) 如果有匹配存在,该行从模式空间中被复制到标准输出.
grep实用程序对输入的每行重复这三个操作步骤.
注意grep处理下列情况
~$ grep bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
guest-rwf0fx:x:116:125:Guest,,,:/tmp/guest-rwf0fx:/bin/bash
但是,如果把结果保存到变量里面:
~$ result=$(grep bash /etc/passwd)
charles@xiaotao:
云原生 专有名词 container docker client docker-daemon containerd containerd-shim-runc-v2进程 runC OCI cri-o简介
linux shell 获取本机ip地址
云原生 专有名词 container docker client docker-daemon containerd containerd-shim-runc-v2进程 runC OCI cri-o简介
linux shell 获取本机ip地址