GNU sed

文本处理三剑客(grep、sed、awk)

依然范特西╮ 提交于 2020-08-19 18:55:02
文章目录 一、grep 1.1 grep简介 1.2 语法与参数 1.3 示例 二、sed 2.1 sed简介 2.2 语法与参数 2.3 示例 三、awk 3.1 awk简介 3.2 语法与参数 3.3 示例 四、总结 一、grep 1.1 grep简介   grep是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。   grep家族包括grep、egrep和fgrep。egrep和fgrep都是grep的扩展,egrep 支持扩展的正则表达式实现类似于grep文本过滤功能,等同于grep -E;fgrep 命令是用来查找一个或多个与给出的字符串或词组相匹配文件中的行。fgrep 查询速度比grep命令快,但是不够灵活:它只能找固定的文本,而不是规则表达式,等同于grep -F。 1.2 语法与参数 grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] -a 或 --text : 不要忽略二进制的数据。 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset

Linux常用命令大全

丶灬走出姿态 提交于 2020-08-19 03:11:26
最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 – 月日时分年.秒 clock -w 将时间修改保存到

dell latitude 5400使用记录

≡放荡痞女 提交于 2020-08-18 21:43:29
dell latitude 5400 总的来说dell latitude 5400是值得买的,这一代的5系列不仅纤薄而且接口丰富,对于商务和办公真是再好不过了。上手还有一台latitude 5470和IBM t480, 5400的外形是最好的, 如果一定要找不足的话,我觉得键盘缩水了,键盘手感 t480>5470>5400 ,外观5400>t480>5470。 添加硬盘 接下来讲重点,此款笔记本是支持wwan扩展固态硬盘的,千万不要被dell400误导,下表是dell提供的硬盘接口列表,没有将M.2 2230 和 M.2 2280(or 2.5 in)同时标注出来 Table 1. Storage specifications Type Form factor Interface Capacity PCIe Solid-State Drive M.2 2230 SSD PCIe Gen 3x2 NVMe, up to 32 Gbps Upto 512 GB PCIe Solid-State Drive M.2 2280 SSD PCIe Gen 3x4 NVMe, up to 32 Gbps Upto 1 TB SATA Solid-State Drive M.2 2280 SSD SATA Class 20 Upto 512 GB SED PCIe Solid-State

第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令

旧时模样 提交于 2020-08-18 04:37:51
第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令 名词解释 comm 命令 可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、差集操作。 交集:打印两个文件所共有的行 求差:打印出指定文件所包含的其不相同的行。 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。 语法 comm(选项)(参数) 选项 -1 :不显示在第一个文件出现的内容; -2 :不显示在第二个文件中出现的内容; -3 :不显示同时在两个文件中都出现的内容。 ​ 参数 文件1 :指定要比较的第一个有序文件 文件2 :指定要比较的第二个有序文件 ​ 实例 [root@ceshi comm]# cat aaa.txt aaa bbb ccc ddd eee 111 222 [root@ceshi comm]# cat bbb.txt bbb ccc aaa hhh ttt jjj [root@ceshi comm]# comm aaa.txt bbb.txt aaa bbb ccc comm: file 2 is not in sorted order aaa ddd eee comm: file 1 is not in sorted order 111 222 hhh ttt jjj 输出第一列:代表aaa.txt包含的内容 输出第二列:代表bbb

.net core容器添加时区和libgdi+和下载加速

六眼飞鱼酱① 提交于 2020-08-17 23:55:53
国内.net core镜像下载加速 比如对于mcr.microsoft.com/dotnet/core/aspnet:3.1,下载是走的azure全球cdn,国内访问很慢。 国内访问可以把mcr.microsoft.com改为mcr.azk8s.cn 如docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1改为docker pull mcr.azk8s.cn/dotnet/core/aspnet:3.1速度就会快上很多 修改时区和安装libgdi+ 根据基础镜像不同添加的命令也不同 对于alpine,比如mcr.azk8s.cn/dotnet/core/aspnet:3.1-alpine是以alpine为基础镜像的,alpine是最小系统镜像,所以用这个做基础镜像能将镜像整体大小控制的得很小。 alpine的包管理器是apk,安装软件命令是apk add RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" repositories \ && apk --no-cache add tzdata zeromq \ && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

一文读懂shell命令

孤者浪人 提交于 2020-08-17 15:53:46
一文懂shell命令 01、shell解释器使用优先级别 02、shell脚本运行方式 03、变量基本定义 04、特殊的变量:命令变量 05、变量取值 06、删除一个变量 07、环境变量(全局变量) 07-1、变量的默认值 08、表达式 08-1、逻辑表达式: 08-2、文件表达式: 08-3、数值比较运算: 08-4、字符串比较: 08-5、运算表达式: 09、Linux常用的符号 09-1、输出重定向符号 09-2、管道 09-3、执行命令尾部加上`&`号: `sleep 10 &` 10、黑洞文件/垃圾桶文件 11、常用命令 11-1、grep命令查询/检索文件内容 11-2、sed命令修改文件内容 11-3、awk命令查看文件 11-4、find命令搜索文件 12、零零碎碎的 总结 01、shell解释器使用优先级别 1、显示指定的解释器: /bin/bash ./first.sh 2、脚本文件首行指定默认: ./first.sh #!/bin/bash 3、系统默认 02、shell脚本运行方式 1、显示指定解释器运行: /bin/bash ./first.sh 2、使用默认解释器: ./first.sh 3、使用 source 或 . 运行 source ./first.sh . ./first.sh 03、变量基本定义 shell脚本语言中,值的类型只有一种——字符串

centos系列将第一块网卡名称修改为eth0自动化脚本

佐手、 提交于 2020-08-17 12:43:51
[root @localhost ~]# cat rename2eth0.sh cfgdir=/etc/sysconfig/network-scripts name=`ip addr show | grep ^2 |awk -F":" '{print $2}' |sed s/[[:space:]]//g` sed -i s/$name/eth0/g /etc/sysconfig/network-scripts/ifcfg-$name mv $cfgdir/ifcfg-$name ${cfgdir}/ifcfg-eth0 cat /etc/default/grub |grep GRUB_CMDLINE_LINUX |grep "net.ifnames=0 biosdevname=0" 2>&1 >/dev/null if [ $? -ne 0 ];then sed -i s/"rhgb quiet"/"net.ifnames=0 biosdevname=0 rhgb quiet"/g /etc/default/grub fi grub2-mkconfig -o /boot/grub2/grub.cfg reboot 来源: oschina 链接: https://my.oschina.net/u/3153397/blog/4498982

postgresql+keepalived HA实现VIP漂移

心已入冬 提交于 2020-08-17 06:49:46
!/bin/bash ################################ Author: xgmin ## Version: 1.0 ## Date: 20191121 ################################ yum clean all && yum repolist yum install vim tree -y #安装keepalived##################### mkdir -p /etc/keepalived/script mkdir -p /var/log/keepalived #增加keepalived主从切换脚本######### tee > /etc/keepalived/script/pgsql_check.sh <<'EOF' #!/bin/bash VIP= ip a | grep 10.10.10.247 | wc -l #判断是否是从库处于等待的状态 Standby_Wait= ps -ef | grep postgres | grep 'startup process' | wc -l #判断从库链接主库是否正常 Standby_Primary= ps -ef | grep postgres | grep 'receiver' | wc -l #判断主库连接从库是否正常 Primary

kubeadm初始化报错Swap解决

回眸只為那壹抹淺笑 提交于 2020-08-17 05:57:57
kubeadm初始化时报错Swap,详细报错内容如下 1 2 [ ERROR Swap ] : running with swap on is not supported . Please disable swap [ preflight ] If you know what you are doing , you can make a check non - fatal with ` -- ignore - preflight - errors = . . . ` 这是因为swap导致的,两种解决办法: 一、关闭swap 1 2 swapoff - a sed - ri 's/.*swap.*/#&/' / etc / fstab 二、通过参数忽略swap报错 在kubeadm初始化时增加--ignore-preflight-errors=Swap参数,注意Swap中S要大写 1 kubeadm init -- ignore - preflight - errors = Swap 另外还要设置/etc/sysconfig/kubelet参数 1 sed - i 's/KUBELET_EXTRA_ARGS=/KUBELET_EXTRA_ARGS="--fail-swap-on=false"/' / etc / sysconfig / kubelet