適用場景:
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 前/後/中間 顯示行數。