适用场景:

k8s集群中跟踪某个字段的日志,比如某路视频流的唯一标识符,不知道被调度到哪个pod,需要一一进入到容器内查找。

pod=$(kubectl get pod|grep *** |awk '{print $1}');
for i in $pod;
do

# 输出容器名
echo kubectl exec -it $i bash;

#再各个容器中查找
kubectl exec $i -- grep -rn $1 /var/log/;
done;

 

linux文件中字符替换

1、将当前目录下包含jack串的文件中jack字符串替换为tom
sed -i "s/jack/tom/g" `grep "jack" -rl ./`
2、将某个文件中的jack字符串替换为tom
sed -i "s/jack/tom/g" test.txt

 

vi 编辑文件时字符替换:

进入命令行模式,将1234替换为567
:1,  $s /1234/567/

vi 中查找字符123:

/或者?123

按n下一处,shift + n上一处。

输入G调到文件末尾,H调到开头。(通常是shift + g/h)

 

grep 查看日志常用:

grep -rn helloworld ./*  //查找当前目录下包含helloworld的文本并显示行号,配合vi file_name +123(行号)使用。

./* 可省去或替换为其它目录或具体文本。

-v 反过滤,-i 忽略大小写, -w 单词完全匹配,  -c 显示匹配到的行数,-A/B/C 前/后/中间 显示行数。

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐