GNU sed

28.awk

末鹿安然 提交于 2019-11-28 22:13:59
9.6/9.7awk 9.6 awk上: 支持分段 例如,passwd文件比较有规律,以冒号作为间隔。那我们可以用awk来分段匹配。就是root为一段,数字为一段这样吧他匹配出来 比grep sed的强大之处在于可以以段的匹配出来 并且不用加特殊的字符,例如脱意、花括号,问号等等 ~1. awk -F ':' '{print $1}' test.txt -F指定分隔符 表示打印这个文件的第一段,以:作为间隔 $0表示所有段 ~2. 不加-F awk '{print $1}' test.txt 如果没有指定间隔符,他将默认空格为间隔 ~3. 不加-F awk '{print $0}' test.txt 可以打印所有的这个文件,相当于cat ~4. 不加-F awk '{print $1,$2,$3}' test.txt 默认分割,打印出第一段第二段第三段。不加-F指定的话,就默认空格间隔 ~5. awk -F ':' '{print $1"#"$2"#"$3}' test.txt 打印出来的一二三段以#作为间隔,列出来 ~6. awk的匹配功能 awk '/oo/' test.txt 将带有oo的全部打印出来 ~7. awk -F ‘:’ ‘$1 ~ /oo/' test.txt 指定以:作为间隔的第一段,匹配出带有oo的字符。需要加 ~ ~8. awk -F ':' '$1 ~

Linux学习----文本三剑客——sed(马哥教育原创)

﹥>﹥吖頭↗ 提交于 2019-11-28 21:22:32
来源:马哥教育 我以前的文章介绍过grep了,今天我就来说一下第二个sed,它是stream editor的缩写。在Linux的文本文件中文本存储都是一行,显示时表现的多行其实都是因为有换行符的存在,例如:文本是:abc$def$ghi 显示出来就是三行了。Sed就是一个行编辑器,它一次读一行文本进行操作,然后根据我们的选择看是否同步到文本之中。还有一个叫awk的,在Linux上叫做gawk(gnu awk),它是一个文本格式化工具,我们下一篇文章再说。 工作机制:每次读取一行文本至“模式空间(pattern space)”中,在模式空间中完成处理;将处理结果输出至标准输出设备; 语法:sed [OPTION]... {script} [input-file]... -r: 支持扩展正则表达式; -n: 静默模式; -e script1 -e script2 -e script3:指定多脚本运行; -f /path/to/script_file:从指定的文件中读取脚本并运行; -i: 直接修改源文件; 地址定界: #: 指定行; $: 最后一行; /regexp/:任何能够被regexp所匹配到的行;sed ‘/^#/d’ /etc/fstab #删除以井号开头的行 \%regexp%:同上,只不过换作%为regexp边界符; /regexp/| :匹配时忽略字符大小写; \

shell -sed查找和替换文件中的内容

孤人 提交于 2019-11-28 17:12:03
sed查找和替换文件中的内容 sed -i 's/text/replace/' file 指定位置替换内容 echo thisthisthisthis |sed 's/this/THIS/3' 移除文件中的空白行 ^$ sed '/^$/d' file 子串匹配标记(\1) echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/' 多个匹配 echo abc | sed 's/a/A/' | sed 's/c/C/' echo abc | sed 's/a/A/;s/c/C/' echo abc | sed -e 's/a/A/' -e 's/c/C/' 来源: oschina 链接: https://my.oschina.net/u/1866807/blog/2222075

Shell正则四剑客 | sed命令

孤街浪徒 提交于 2019-11-28 17:11:49
sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,sed只是对缓冲区中原始文件的副本进行编辑,并不是编辑原始的文件。除非你使用重定向存储输出或者使用使用sed编辑命令中的w选项。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作。 SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入、文本重定向、字符串、变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或多个文件,简化对文件的反复操作、编写转换程序等。 在处理文本时把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),紧接着用SED命令处理缓冲区中的内容,处理完成后把缓冲区的内容输出至屏幕或者写入文件。 逐行处理直到文件末尾,然而如果打印在屏幕上,实质文件内容并没有改变,除非你使用重定向存储输出或者写入文件。其语法参数格式为: sed [-Options] [‘Commands’] filename; sed工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改,需要加

shell中的函数、数组及告警系统需求分析

喜你入骨 提交于 2019-11-26 14:03:21
shell中的函数 把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 函数就是一个子shell,就是一个代码段,定义完函数就可以引用它 格式: function 后是函数的名字,并且 function 这个单词是可以省略掉的 花括号{} 里面为具体的命令 格式: function f_name() { command } 函数必须要放在最前面 示例1 这个函数是用来打印参数 #!/bin/bash input(){ echo $1 $2 $0 $# } input 1 a b 9 [root@yong-01 shell2]# sh -x fun1.sh + input 1 a b 9 + echo 1 a fun1.sh 4 1 a fun1.sh 4 函数,可以直接写在脚本内,相当于直接调用 內建变量 $1 第一个参数 $2 第二个参数 ... ~ $# 总共有几个参数 $0 脚本名字 [root@yong-01 shell2]# sh -x fun1.sh + input 1 a b 9 + echo 1 a fun1.sh 4 1 a fun1.sh 4 [root@yong-01 shell2]# vim fun1.sh [root@yong-01 shell2]# sh fun1.sh 1 4 1 4 fun1.sh

轻量级监控平台之监控脚本配置下发

回眸只為那壹抹淺笑 提交于 2019-11-25 21:58:32
轻量级监控平台之监控脚本配置下发&定时任务启动 #!/bin/bash #进程监控脚本 #功能需求: 轻量级监控平台下载ticket,帮助后续数据上报脚本完善入参 . /etc/profile . ~/.bash_profile pushurl="https://lightmonitorapi.test.cn/pull/ticket" ip=$(ip addr | grep 'BROADCAST' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d '/') msg=$(curl $pushurl \ -H "Accept: application/json" \ -H 'Content-Type: application/json' \ -d \ '{"ip": "'"${ip}"'", "ticket": "asdfasdf", "data": ""}') cd /opt/shell/ sed -i "s/\r//" serviceCpu.sh sed -i "s/\r//" serviceDisk.sh sed -i "s/\r//" serviceGC.sh sed -i "s/\r//" serviceProcess.sh sed -i "s/\r//" serviceService.sh sed -i "s/\r//"

在Ubuntu 18.04 下使用命令行查看英伟达GPU温度、CPU温度

自作多情 提交于 2019-11-25 21:34:55
查看英伟达显卡的温度: nvidia-smi , Temp 对应的就是当前GPU温度,使用 nvidia-smi -q -i 0,1 -d TEMPERATURE 可以查看更详细的温度信息; 查看CPU温度: paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1C/' 。 来源: oschina 链接: https://my.oschina.net/zhweizhwei/blog/3133012