目 录CONTENT

文章目录

【实践】玩转bash脚本

FatFish1
2025-05-16 / 0 评论 / 0 点赞 / 30 阅读 / 0 字 / 正在检测是否收录...

将大文件分割成不同部分循环移动每一部分

heapfile=`ls | grep heap-dump.hprof`
echo "$heapfile"
tar czf - $heapfile | split -b 900m - dst_split.

list=`ls | grep dst`

for file in $list
do
echo "$file"
chown myuser $file
chmod 777 $file
mv $file /tmp/
done

首先找到当前的文件名,对其进行压缩,分包,对每一个分包结果进行遍历,首先对单个文件修改属主为opsadmin,然后给予777权限,移动文件至/tmp目录,完成

 多个文件,依次在其中查找某个字符

这是一个awk+xargs结合的经典案例:

ls | awk '{print $1}' | xargs -I {} grep word {}

写一个循环,获取每个k8s容器的env

SERVLIST=$(cat /root/gty/service.txt)

for SERV in $SERVLIST
do
SERVNAME=`kubectl get services $SERV | head -n 1 | cut -d ' ' -f1`
kubectl exec $SERVNAME env | grep DB_IP >> dbip.txt
done
  1. 首先从/root/gty/service.txt中读取了服务名列表,然后for循环依次执行,for的标志是for -- do -- done

  2. 反引号``包裹的命令,结果可以赋值给前面的变量,用$可以引用变量

  3. >>表示结果追加输出到dbip.txt中去

0

评论区