请把如下字符串stu494e222fstu495bedf3stu49692236stu49749b91转为如下形式:stu494=e222fstu495=bedf3stu496=92236stu497=49b91 利用AWK来实现 通过shell脚本来实现…
awk工具概述awk编程语言/数据处理引擎基于模式匹配检查输入文本,逐行处理并输出通常在shell脚本中,或取指定的数据单独用时,可对文本数据做统计 命令格式格式一:awk [选项] '[条件]{编辑指令}' 文件格式二:前置命令 | awk [选项] '[选项]{编辑指令}' 常用命令选项:-F:指定分隔符,可省略(默认空格或tab位)-f:调用awk脚本进行处理-v:调用外部shell变量 实例:[root@ceshiji ~]# awk '{print $1}' /etc/passwd[r…
在安卓应用的测试过程中,遇到 Crash 或者 ANR 后,想必大家都会通过 adb logcat 命令来抓取日志定位问题.如果直接使用 logcat 命令的话,默认抓取出的 log 文件包含安卓运行时产生的所有日志,给快速定位问题增加了时间成本. 这个问题可以通过一个简单的 Shell 脚本来解决,依然只有区区 20 行左右的代码. 脚本的编写思路是这样的: 1.通过 date 命令获取当前时间并赋值给变量 "DATE",格式为 "year/month/day/hour/m…
利用shell脚本分析网站数据 # define url time=$(date +%F) mtime=$(date +%T) file=/abc/shell/abc/abc_$time.log http=https://abc.com/abc/abc.do key='tender_sum' log_file=/abc/shell/abc/remind.log check_log=/abc/shell/abc/check.log function Mail(){ mail -s @qq.com…
目录 一.awk 1.1.awk简介 1.2.基本格式 1.3.工作原理 1.4.常见的内建变量(可直接用) 按字段输出文本 1.5.awk和getline 有重定向符 无重定向符 1.6.指定分隔符分割字符串 1.7.使用awk创建数组,并循环 一.awk 1.1.awk简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Na…
odd表示奇数行,even表示偶数行; tr:nth-child(odd); .table-striped > tbody > tr:nth-child(odd) { background-color: #f9f9f9; }…
单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是python代码. 因此,退出python命令行,直接cd到hello.py所在目录,运行python hello.py,即可. 若是非要在python命令行中运行,输入print("hello world")即可. 总结: shell脚本命令 里直接运行python文件 python命令行 运行…
一.简介 通过第3方工具获得网卡流量,这个大家一定很清楚.其实通过脚本一样可以实现效果.下面是我个人工作中整理的数据.以下是shell脚本统计网卡流量. 现原理: cat /proc/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo:1068…
交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程): ps -ef | grep "name" | grep -v grep | awk '{print $2}' 或者不使用 grep(这里名称首字母加[]的目的是为了避免匹配到 awk 自身的进程): ps -ef | awk '/[n]ame/{p…
有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前Shell中获取字符串的长度的多种方法,在这里分享给大家,方法如下: 方法1: 使用wc -L命令wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数. 代码如下: echo "abc" |wc -L 方法2: expr length string 使用expr length可以获取string的长度 方法3: awk获取域的个数,但是如果…
在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录.shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/bin/bash^M: bad interpreter.网上找了资料才知道如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A.如果你将这个脚本文件直接放到Li…
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式的描述:“Dos\Windows或UNIX或Mac”. 2.文件转换方法 但是如果每写一个shell文件都需要这样转换可能会很麻烦,那有没有一劳永逸的办法呢?答案是有的,我们可以设置Notepad++默认新建的文件都是shell格式,具体操作如下: 打开在notepad++,设置,首选项 注意点:…
本文简要描述了在ubuntu系统下无法使用source命令的原因,及对应的两种解决方法,并在附录中引用一篇文章来详细解释source命令的用法 问题: 由于在交叉编译时,需要在当前shell内执行source命令来临时指定系统的编译环境为嵌入式环境.故希望通过编写一个shell脚本来自动执行编译命令,然而在脚本中通过source命令指定编译环境时,系统会提示找不到命令 原因: source命令是bash shell的内置命令,而ubuntu 默认用的是dash(基本POSIX标准的命令解释器),…
第一种方法: 第二种方法: 第三种方法:…
有个小需求,就是爬取一个小网站一些网页里的某些信息,url是带序号的类似的,不需要写真正的spider,网页内容也是差不多的 需要取出网页中<h1></h1>中间的字符串,而且只要第一行,最后带序号写到文件里 我并不是经常写shell的,只想快速达到目的 #!/bin/bash ;i<=;i=i+)) do echo "#############=P$i" echo "http://.....com/.../level-$i" wget…
AWK 1 AWK 2 3 linux取IP地址 4 5 ifconfig | grep -w inet | sed -n '1p' | awk '{print $2}' 6 7 eg: 8 9 awk -F ':' '{print $1}' /etc/passwd 10 11 awk -F ':' '{print $NF}' /etc/passwd 取最后一个字段 12 13 awk -F ':' '{print $(NF-1}' /etc/passwd 14 15 NR:行 NF:最后 16…
可调用如下函数达到echo出来带颜色的文字.._echo_error() { echo -ne "\033[31;1m $1\033[0m\n";}_echo_ok() { echo -ne "\033[32;1m $1\033[0m\n";}_echo_warn() { echo -ne "\033[33;1m $1\033[0m\n";} ps aux|awk 'NR==1 {print $2}' ###NR==1  表示第一行第几列 #!/…
VIM安装成功后可以使用,但对中文是乱码,解决方法是在vim的配置文档中添加相关设置即可: 找到etc/vimrc 编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936   set termencoding=utf-8   set encoding=utf-8 问题解决.  …
shell 实现获取当前时间,并进行格式转换的方法: 1)原格式输出 2018年 09月 30日 星期日 15:55:15 CST time1=$(date) echo $time1 2)时间串输出 20180930155515 #!bin/bash time2=$(date "+%Y%m%d%H%M%S") echo $time2 3)2018-09-30 15:55:15 #!bin/bash time3=$(date "+%Y-%m-%d %H:%M:%S")…
一.简介 处理文本,是awk的强项了. 无论性能已经速度都是让人惊叹! 二.使用 适用:centos6+ 语言:英文 注意:无 awk 'BEGIN{ while("netstat -an"|getline){ if( $5 ~ /[1-255]/) { split($5,t1,":"); tarr[t1[1]]++; } } for(k in tarr) { print k,tarr[k] | "sort -r -n -k2"; } };'…
select * from (select @rownum := @rownum+1 as row_num, t.* from 表名 t,(select @rownum:=0) tmp_table order by CreateTime limit 10) t where t.row_num%2=1…
ipaddr='172.0.0.1' ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') echo $ipaddr…
方法有N种,awk.sad.grep.cut... 以上几种方式不写了,就写两个不太常用到的. 废话少说,直接上代码: cat a.txt aa.gif=aaaa.gif bb.gif=bbbb.gif cc.gif=cccc.gif 方法一: #!/bin/shwhile read line do k=${line%=*} v=${line#*=} echo "$k : $v" done < a.txt 运行结果: aa.gif : aaaa.gif bb.gif : bbbb…
zabbix3.0.4添加对进程的监控: 方法一:通过自定义命令进行监控 主要思路: 通过 ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l 这个命令来判断进程sdk-push是否运行,如果不等于1则表示进程挂了,触发报警 被监控的zabbix-agent端: 添加监控参数: # vim /etc/zabbix/zabbix_agentd.conf UserParameter=sdk_push,ps -ef|grep sdk-push-1.0.…
如下例子所示: #!/bin/sh dt= rdms_presql='select * from dm_general_stat where dimcode = "day" and dimvalue ='${dt} java -Djava.ext.dirs=lib com.etl.Hive2RMDS \ --hive_url ${rdms_presql} 想把一段sql作为参数传递给java程序的入口参数中,如果直接写的话,会从空格处自动切分开. 解决方法:将这个引用变量用双引号括起来…
OLDIFS=$IFS IFS=$'\n' #存放路径的变量在引用时都使用双引号括起来 "$VAR_PATH" #路径拼接时后续的旧不需要加双引号了"$VAR_PATH"/bin #如果用另一个变量存放路径变量值,再次使用时还是要用双引号 PATH_2="$VAR_PATH"/bin #use the PATH_2 echo "$PATH_2" IFS=$OLDIFS…
[root@localhost wyb]# cat daxiaoxie qweBNMacb eeeDFSmkl svdIOPtyu [root@localhost wyb]# cat daxiaoxie |tr [a-zA-Z] [A-Za-z] QWEbnmACB EEEdfsMKL SVDiopTYU [root@localhost wyb]#…
问题:出现declare:not found的提示 解决:原来,UBUNTU用的是dash(后来证明这个其实这个不是错误的原因:从#!/bin/bash到#!/bin/dash,依旧无法运行,在这写出这一点只为引起以后的注意) 只需要用sudo dpkg-reconfigure dash指令 然后在出现的菜单中按Tab键选择NO 再重新运行即可…
shell脚本三剑客:grep  sed  awk grep语法: grep [OPTIONS] PATTERN [FILE] 常用选项 -c                       统计匹配到的行数 -i                        匹配时不区分大小写-n                       显示匹配行所在行号-o                       只显示匹配到的字符串-v                       取反,反方向匹配,不匹配关键字的行-…