前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux脚本技巧

Linux脚本技巧

作者头像
羽翰尘
修改2019-11-26 16:14:55
1.8K0
修改2019-11-26 16:14:55
举报
文章被收录于专栏:技术向

本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/tricks_on_shell/

cat生成文件

代码语言:txt
复制
cat >default-deny.yml<<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
spec:
  podSelector: {}
  policyTypes:
  - Ingress
EOF

NOTE: 实测用sudo权限无法写入系统文件,sudo su之后可以。

tee生成文件

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

语法

1

tee -ai--version

参数:

  • -a或–append  附加到既有文件的后面,而非覆盖它.
  • -i或–ignore-interrupts  忽略中断信号。
  • –help  在线帮助。
  • –version  显示版本信息。

搜索并修改

代码语言:txt
复制
wget https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/generic-kuberouter-all-features.yaml
CLUSTERCIDR='10.233.0.0/16'
APISERVER='https://192.168.25.180:6443'
sed -i "s;%APISERVER%;$APISERVER;g" generic-kuberouter-all-features.yaml
sed -i "s;%CLUSTERCIDR%;$CLUSTERCIDR;g" generic-kuberouter-all-features.yaml

参考:Linux sed 命令

增加行

首行加一行

1

sed -i '1 i\"hello"' b.csv

末尾加一行

1

sed -i '$a\要插入的文字'  file.name

NOTE: sudo或者sudo su都无法写入系统文件,待查。

参考:sed 首行加一行,末尾加一行

过滤信息

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

  • 获取k8s中的pod的ip1PRODUCTION_GO_IP=$(kubectl get pods -n production -o wide | grep Running | grep service-go | awk '{print $6}')

获取脚本的绝对路径

代码语言:txt
复制
DIR1="`dirname $BASH_SOURCE`"
MYDIR=`readlink -f "$DIR1"`

这样,无论在哪里执行该脚本,都可以获得该脚本的绝对路径

参考:linux awk命令详解

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • cat生成文件
  • tee生成文件
  • 搜索并修改
  • 增加行
  • 过滤信息
  • 获取脚本的绝对路径
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档