专栏首页技术向Linux脚本技巧

Linux脚本技巧

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

cat生成文件

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  显示版本信息。

搜索并修改

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}')

获取脚本的绝对路径

DIR1="`dirname $BASH_SOURCE`"
MYDIR=`readlink -f "$DIR1"`

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

参考:linux awk命令详解

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 宿主机与虚拟机共享文件

    如果是在本地的机器上安装kvm和虚拟机,拷贝文件还可以通过外接usb和kvm的redirect usb device来完成。而如果是远程的kvm,该如何拷贝文件...

    羽翰尘
  • 使用git lfs追踪仓库中的二进制文件

    使用博客或者给仓库里的代码做注释时,经常会加上图片。 但是单纯地使用git提交会造成每提交一次体积为M的二进制文件, 仓库的体积就会增加M。

    羽翰尘
  • ubuntu 16.04 搭建pptpd V**服务器

    注意:经实测,配置完iptables NAT转发之后手机可以上网,但是电脑不能。配置完MTU之后,电脑手机都可以上网。

    羽翰尘
  • error LNK2019: 无法解析的外部符号

    最近在写与驱动程序通信的Windows应用程序,在VS2013编译时出现了“error LNK2019:无法解析的外部符号”的错误。

    用户7043923
  • python 文件处理

    python 读取一个文件,使用内置函数open() 通过下边的语法可以看到一个函数调用的东西,那就是传参数,如果有关键字指定,那么就写指定的,如果没有就按默认...

    py3study
  • 边缘计算意味着云的死亡吗?

    随着物联网的爆炸式增长,连接设备通过传感器、摄像头、加速器以及深度传感器收集到的信息越来越多,包括了从制造业到汽车、卫生技术、能源、公用事业和可穿戴技术等各个行...

    SDNLAB
  • 什么是物联网的边缘计算?

    越来越多的“连接”设备产生了过多的数据,随着物联网(IoT)技术和用例在未来几年的发展,这种情况将继续存在。根据研究公司Gartner的数据,到2020年,将有...

    SDNLAB
  • 安装CUDA

    嗯,本渣又回到了科研道路上了。这次讲讲怎么安装CUDA 当然,你需要要把GPU插到电脑上,然后,嗯,把显示器插到GPU的口上(别问我怎么知道的)。显卡的型号是:...

    用户1148523
  • 【问题追踪】scanf引发的“血案”

    最近我遇到C语言学习中一个比较容易让我们这种新手犯错或者忽略的地方。那就是关于scanf函数在读取字符时的问题,以及getchar()与回车的一点恩恩怨怨,换句...

    程序员互动联盟
  • 边缘架构对于IoT至关重要的三个原因

    工业互联网的许多承诺之一是它可以帮助企业生成大量的数据。 但是,如果可以快速,有效和安全地访问和执行此数据,这些数据才有价值。 当您拥有生活在网络偏远地区的“事...

    首席架构师智库

扫码关注云+社区

领取腾讯云代金券