GNU sed

过滤取出pom.xml内的1.0.2-SNAPSHOT

一世执手 提交于 2020-08-12 18:32:25
echo "<version>1.0.2-SNAPSHOT</version>" | grep -o -E "[0-9].[0-9].[0-9]+-SNAPSHOT" echo "<version>1.0.2-SNAPSHOT</version>" | cut -d'>' -f2 |cut -d'<' -f1 echo '<version>1.0.2-SNAPSHOT</version>' | grep -Po '(?<=>).*(?=<)' echo '<version>1.0.2-SNAPSHOT</version>' | sed 's|. >(. )<.*|\1|' 来源: oschina 链接: https://my.oschina.net/HeAlvin/blog/4489067

hualnux QA 1.3:如果用shell脚本实现多行逐一纵向输出

人走茶凉 提交于 2020-08-12 07:58:06
一、需求 上图中有一个密码子表,为了方便我把上图表中内容用文字方式拿出来,并命名为hua.txt,如下: FFLLSSSSYY**CC**LLLPPHHQQRRRIMTTTTNNKKSSRRVWVVAAAADDEEGGGG TTTTTTTTTTTTTTCCCCCCCCCCCAAAAAAAAAAAAGGGGGGGGGGGGGGG TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG 二、分析 其实这就是一个多行逐一以纵向的方式输出,只不是行之间多了一个空格。 如果要把行变成纵向读的话,那我是不是可以把第行的字对应纵向拼出来就行了,思路如下: 1.上面有4行我们可以拿4个变量去存,分别为str1、str2、str3、str4 这个功能不难实现用sed就可以取指定某行的值 2.我们再把 str1第1个字符 空格 str2第1个字符 空格 str3第1个字符 空格 str4第1个字符 ,同理按顺序读第2个,第3个,第n个,可以用循环的方式输出即可,首先需要解决2个问题 第个字符的长度是怎决定,既然要输出所有字符,为了简单点,直接用最长字符长度如str3和str4为准,取字符长度保可以使用

find && sed

こ雲淡風輕ζ 提交于 2020-08-12 07:29:40
1、查找/etc目录下大于1M且类型为普通文件的所有文件 find /etc -size +1M -type f 2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。 find /etc -type f -name "*conf" |xargs tar -zcvf /usr/local/src/`data +%F`.tar.gz 3、利用sed 取出ifconfig命令中本机的IPv4地址 ① ifconfig | sed -nr '2s/^.*inet\ ([1]?[0-9][0-9]\.[0-9]?[0-9][0-9]\.[0-9]?[0-9][0-9]\.([1]?[0-9][0-9]|[2][0-5][0-5])).*/\1/p' ② ifconfig | sed -nr '2s/^.*inet\ (.*)\ netmask.*/\1/p' 4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 sed -ri.bak 's/^#[ ]+(.*)/\1/' /etc/fstab 5、处理/etc/fstab路径,使用sed命令取出其目录名和基名 目录名: echo /etc/fstab |sed -nr 's#(.*)/(.*)#\1#p' 基名: echo /etc

CentOS8安装最新版本Chromium浏览器

微笑、不失礼 提交于 2020-08-12 06:11:41
Chromium浏览器是Chrome浏览器的开源版本,本文介绍如何使用snap工具安装最新版本的Chromium浏览器。 环境 Centos 8 安装snapd工具 使用snap安装chromium,可以安装最新版本的,下面是安装 命令 : [bob@localhost ~]$ sudo dnf install -y snapd # 使snapd开机启动,并马上启动服务。 [bob@localhost ~]$ sudo systemctl enable snapd --now 安装chromium 接下来就是用snap安装chromium-83.0.4103.61吧。 [bob@localhost ~]$ sudo snap install chromium 打开chromium,查看一下版本。 如何安装Chromium 测试版? 使用snap工具可以安装测试版本的Chromium-84.0.4147.21浏览器。我们先把之前安装的卸载掉: [bob@localhost ~]$ sudo snap remove chromium chromium removed 接下来安装Beta版本的Chromium: [bob@localhost ~]$ sudo snap install chromium --beta 打开浏览器看一下吧: 可以在 命令 行输入命令打开chromium浏览器

SHELL编程

牧云@^-^@ 提交于 2020-08-12 05:46:05
1.Shell编译器 默认解析器是bash echo $SHELL 2. 创建第一个示例脚本,hello world touch helloworld.sh vim helloworld.sh #!/bin/bash #指定解析器 echo "helloworld" 运行区别: 1.sh不需要执行权限 本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限 2. ./helloworld.sh 需要执行权限 ,本质是脚本需要自己执行 创建一个多命令脚本 需求:在/home/某目录下创建一个banzhang.txt,在banzhang.txt文件中增加"I love cls" 系统变量和自定义变量 常用系统变量:查看所有环境变量 env $HOME 当前家目录 $PWD 当前目录 $SHELL 默认解析器 $USER 当前用户 自定义变量 定义变量:变量=值 =号两边没有空格 撤销变量:unset 变量 设置静态变量B=2,无法unset(重启时自动删除) 注意事项: 1.变量名可以由字母,数字,下划线组成,但是不能以数字开头,环境变量名建议大写 2.等号两边不能有空格 3.在bash中,变量默认类型都是字符串类型,无法字节进行数值运算 4.变量的值如果有空格,需要使用双引号或者单引号括起来 可将变量提升为全局变量:export 变量名 特殊变量:基本语法 $n #功能描述

在Linux命令行中进行大小写字符转换

房东的猫 提交于 2020-08-12 04:44:54
导读 在大小写之间转换文本可能非常繁琐,幸运的是 Linux 提供了一些 命令 ,这些 命令 可以使工作变得非常简单。 环境 Centos 7 使用tr 如果有一个字符串要确保全部是大写的,只需通过tr命令替换: [root@localhost ~]# echo "Hello World" | tr [:lower:] [:upper:] HELLO WORLD 下面是在 脚本 中使用此命令的示例,需要确保添加到文件中的所有文本都是大写,以保持一致性: #!/bin/bash read -p "Enter department name: " dept echo $dept | tr [:lower:] [:upper:] >> depts 将顺序切换为[:upper:] [:lower:]会会将所有大写字符转换成小写: #!/bin/bash read -p "Enter department name: " dept echo $dept | tr [:upper:] [:lower:] >> depts 也可以使用”a-z” “A-Z”来替换大小写。 #!/bin/bash read -p "Enter department name: " dept echo $dept | tr a-z A-Z>> depts 下面几个函数是tr内置的: [:alnum:] 所有字母和数字

linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

你。 提交于 2020-08-12 02:02:30
作者:蓝藻(罗蓝国度) 创建时间:2018.7.3 编辑时间:2020.03.28 前言 本文特点 授之以渔 :了解命令学习方法、用途:不再死记硬背,拒绝漫无目的; 准确无误 :所有命令执行通过(环境为centos7),拒绝复制粘贴; 实用性高 :命令多为实际工作中用到的,实例讲解,拒绝纯理论; 条理清晰 :分类归纳,快速找到想要的命令,拒绝天马行空; 总结性强 :只列常用语法,易错情况强调,拒绝照搬照套。 学前须知 适用人群 :开发、测试、运维等等 文档用途 :linux入门学习、命令备忘录、面试复习 学习途径 :书籍(鸟哥的Linux私房菜)、视频:慕课网等、百度谷歌搜索、qq群等 学习环境 :虚拟机VirtualBox+centos7 学习记录 :多动手,多联想,多记录,特别是遇到问题时 遇到问题 :百度谷歌搜索、系统日志(/var/log/)、qq群 学前理论 linux主要特征 :一切且文件(目录、硬盘等都是文件);硬件都在/dev 目录,如硬盘、U盘为/dev/sd[a-d]; /dev/sr0(/dev/cdrom)是光驱的设备名(df命令查看),为设备文件,代表的是光驱本身,得把这个设备挂载到目录下(一般为/mnt)(文件系统的临时挂载点),才能对设备上的文件进行读写等操作; 不懂的命令 :man 命令(查用法、全称),只记得关键词,可用man -k 关键词;

docker 镜像的批量修改和上传

妖精的绣舞 提交于 2020-08-11 19:56:47
前言:工作中需要批量修改镜像tag,并push到镜像仓库中,特此总结如下命令 导入所需镜像 docker load -i 镜像.tar.gz 执行批量修改tag docker images | grep 10.0.0.100/dev | sed 's/10.0.0.100\/dev\//'"10.21.30.7\/kube-system"'\//' | awk '{print "docker tag "$3" "$1":"$2}'| sh 执行批量推送镜像 docker images | grep 10.21.30.7\/kube-system | awk '{print "docker push "$1":"$2}' | sh 来源: oschina 链接: https://my.oschina.net/u/4308764/blog/4299985

zabbix生成月度统计报表

二次信任 提交于 2020-08-11 14:18:44
zabbix生成月度统计报表 SkTj 2018.10.20 09:59:14 字数 369 阅读 2,575 !/bin/bash ############################## @version 0.1 @date 2017-12-31 ############################## USER1="zabbix327" PASSWORD1="mm HOST1="ip" DATABASE1="zabbix" TABLE="students" ###################### rm -rf /tmp/zabbix_statics.csv mysql -h {USER1} -p {DATABASE1}<<EOF #2>/dev/null DROP TABLE if exists tmp_itemhost; DROP TABLE if exists tmp_trigger; DROP TABLE if exists tmp_triggeritem; CREATE TABLE tmp_itemhost ( hostid int(20), host varchar(1280), hostname varchar(1280), itemid int(20), itemname varchar(1280), itemkey varchar(1280),

linux xdg user dirs

ⅰ亾dé卋堺 提交于 2020-08-11 12:46:47
# 查看系统默认值 $ cat /etc/xdg/user-dirs.defaults DESKTOP=Desktop DOWNLOAD=Downloads TEMPLATES=Templates PUBLICSHARE=Public DOCUMENTS=Documents MUSIC=Music PICTURES=Pictures VIDEOS=Videos # 查看当前用户设置值 cat .config/user-dirs.dirs # 设置目录关联 $ xdg-user-dirs-update --set DESKTOP $HOME/Desktop # 创建默认目录 $ cat /etc/xdg/user-dirs.defaults | sed -e '/^#/d' -e 's/.*=//g' | xargs -I {} -t mkdir -p $HOME/{} # 生成设置默认目录的命令 $ cat /etc/xdg/user-dirs.defaults | sed -e '/^#/d' -e 's/=/\ $HOME\//g' | awk '{print "xdg-user-dirs-update --set " $0}' xdg-user-dirs-update --set DESKTOP $HOME/Desktop xdg-user-dirs-update --set