Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep grep已经用得够多了不需要再特别地说明用法,就罗列一下几个不太熟悉的参数: -v 反选 比如常用ps -ef | grep -v grep来把grep本身的那条进程去掉 -E 跟一个扩展正则表达式以增强grep的匹配功能. -i 忽略大小写地匹配 -q (常用于脚本)进行一个grep的判断,如果找到了返回…
四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望而生畏,浅尝辄止即罢.有人熟练掌握,使其四剑客为己所用,在分析日志,分析文本,统计,批量修改中游刃有余,大大提高了工作效率.本篇博文将详细讲解四剑客的参数选项,以及使用案例,相信认真读完本篇博文你也可以使得四剑客真正为己所用. 四剑客之grep 1.几个概念 正则表达式:Regular Expres…
一. cut cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的.cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段输出. 1.基本用法 cut [选项参数]  filename 说明:默认分隔符是制表符 2.选项参数说明 表1-55 选项参数 功能 -f 列号,提取第几列 -d 分隔符,按照指定分隔符分割列 -c 指定具体的字符 3.案例实操 (0)数据准备 [atguigu@hadoop101 datas]$ touch cut.txt [atguig…
管道符 | 前面的输出作为后面的输入 grep 可以理解为正则表达式 grep [参数] 文件名 -c 打印符合要求的行数 -v 打印不符合要求的行 -n 在输出符合要求的行的同时连同行号一起输出 -i 忽略大小写 [0-9] ^ grep -c 'root' /etc/passwd grep -nv 'root' /etc/passwd grep '[0-9]' 文件名 grep '^#' -v test.py yhq@yhq-virtual-machine:~$ grep 'r..o' /e…
http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html 文件:datafileSteve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500Igor Chevsky:385-375-8395:3…
sed替换命令 使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换. sed 's/88/--/' filename 将filename每行第一次出现的88用字符串--替换,然后将该文件内容输出到标准输出 sed 's/88/--/g' filename 附加g选项告诉sed执行全局替换 匹配第N个进行替换 N=1 sed '0,/88/s//--/' filename 只匹配到第一个88为止 sed ':a;N;$!ba;s/88/--/' filename 第二个命令 :a 创…
cut cut的工作就是“剪”,具体说就是在文件中负责剪切数据用的.cut命令从文件的每一行剪切字节.字符.和字段并将这些字节.字符和字段输出 基本用法 cut [参数] filename # 说明:默认分割符是制表符 参数说明 选项参数 功能 -f 列号,提取第几列 -d 分隔符,按照指定分隔符分割列 案例实操 数据准备 [root@slave2 testshell]# touch cut.txt [root@slave2 testshell]# vim cut.txt dong shen g…
sed编辑器称为流编辑器(stream editor).可以根据输入命令行的命令或者存储在命令文本文件中的命令处理数据.每次从输入读取一行数据,将该数据与所提供的编辑器命令进行匹配,根据命令修改数据流中的数据,然后将新数据输出到STDOUT. sed 命令格式: sed options script file options 允许自定义 sed 命令的行为,它包含的选项如表1所示. script 指定要应用于数据流的单个命令.如果需要多个命令,使用 -e 或者 -f 选项. 表1: sed 命令…
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> test.sql #将test.sql文件中的每一行最后的符号“,”删除 sed -i 's/,$//g' test.sql #在test.sql文件中每行的开头添加左括号“(” sed -i 's/^/(&/g' test.sql #在test.sql文件中每一行的末尾添右括号“)” sed -i 's…
1. 流程控制 if 判断 ()[ 条件判断式 ],中括号和条件判断式之间必须有空格 ()if后要有空格 [kris@hadoop datas]$ vim if.sh #!/bin/bash -eq " ] then echo "one" -eq " ] then echo "two" else echo "other" fi ------------------- #!/bin/bash -eq " ]; then…
Linux的文本处理工具浅谈 awk   老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS竖着切,列的分隔符 RS横着切,行的分隔符 [语法格式] awk [–F] [“[分隔符]”] [’{print$1,$NF}’] [目标文件] awk 'BEGIN{FS="[列分隔符]+";RS="[行分隔符]+";print "-GEGIN-"…
[root@room9pc01 ~]# seq 5 1 2 3 4 5 [root@room9pc01 ~]# seq 2 5 2 3 4 5 seq 1 2 10 1 3 5 7 9 [root@desktop0 ~]# seq 10 -2 1 10 8 6 4 2 /etc/profile #定义的系统变量文件…
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk 支持 egrep 所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE.如果不加-r 使用花括号要加转义符\{\} sed详解 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑…
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color=auto 或者 --color:表示对匹配到的文本着色显示 -i:在搜索的时候忽略大小写 -n:显示结果所在行号 -c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数 -o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行 -v:输出不带关键字的行(反向查询,反…
1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep  bastion_account.sh|grep -v grep|wc -l) -eq 0 ];then     nohup sh bastion_account.sh & fi 2)如何批量kill进程? ps -ef|grep 'python' |grep -v grep| awk '{print $2}' | xargs kill -9 3)查看端口 netstat -ln…
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式; tail[必要参数][选择参数][文件] 2.命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理.常用查看日志文件. 3.命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n&l…
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.2.11 netmask 255.255.255.0 broadcast 192.168.2.255 ether 00:0c:29:41:85:df txqueuelen 1000 (Ethernet) RX packets 17934 bytes 9131091 (8.7 MiB) RX…
grep.cut.awk.sed 常常应用在查找日志.数据.输出结果等等,并对我们想要的数据进行提取. 通常grep,sed命令是对行进行提取,cut跟awk是对列进行提取 处理海量数据之grep命令 grep应用场景: 通常对数据进行 行的提取 语法: grep [选项]...[内容]...[file] -v #对内容进行取反提取 -n #对提取的内容显示行号(原文件中对应行号) -w #精确匹配 -i #忽略大小写 ^ #匹配开头行首 -E #正则匹配 系统文件进行实例演示: 1. 提取是区…
grep.cut.awk.sed 常常应用在查找日志.数据.输出结果等等,并对我们想要的数据进行提取.通常grep,sed命令是对行进行提取,cut跟awk是对列进行提取 处理海量数据之grep命令 grep应用场景: 通常对数据进行 行的提取 语法: grep [选项]...[内容]...[file] -v #对内容进行取反提取 -n #对提取的内容显示行号(原文件中对应行号) -w #精确匹配 -i #忽略大小写 ^ #匹配开头行首 -E #正则匹配 系统文件进行实例演示: 1. 提取是区分…
Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858385.html 一.sort命令 转自: [1]Linux sort命令 https://www.runoob.com/linux/linux-comm-sort.html [2]sort命令详解 https://www.cnblogs.com/mac…
Linux Bash命令杂记(cut sort uniq wc tee) 数据流重定向 标准输入(stdin):代码为0,使用<或<<: 标准输出(stdout):代码为1,使用>或>>: 标准错误输出(stderr):代码为2,使用2>或2>>: >:覆盖的方式,>>:追加的方式 如果想要一般输出与错误输出同时输入到某一个文件,如果采取如下的方式进行输出是错误的: 输出数据 1> list 2> list 如果按照上面的…
问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f pms.log>> tmp1 2.查找出问题的方法所输出的日志 grep purchaseConfirm tmp1 >> tmp2 内容如下: 2017-02-28 16:14:25.040 [DubboServerHandler-10.26.235.193:20885-thread-1…
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk…
一款免费的shell工具 MobaXterm_Personal…
本页内容都是本人回炉Linux时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接右上角叉叉,对此本人只能say sorry.但本人能自信的说,很多文章能算得上是查缺补漏和原理(机制)深入型的内容,也有很多是手册型文章. 文章中有非常多的内容是我个人摸索的时候推断.测试出来的,虽以目前本人的能力还没发现不通之处,但错误难免,所以若各位朋友发现什么错误,或有疑惑.更好的建议等,盼请各位能在…
1.编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2.通过位置变量创建 Linux 系统账户及密码 #!/bin/bash # 通过位置变量创建 Linux 系统账户及密码 #$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 useradd "$1" echo "$2" | passwd ‐‐stdin "$1" 3.备份日志 #!…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 十.Shell工具(重点) 1.cut cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的. cut 命令从文件的每一好难过剪切字节.字符和字段并将这些字节.字符和字段输出. 1.1 基本用法 cut [选项参数] filename 说明: 默认分隔符是制表符 1.2 选项参数说明    选项参数   功能    -f 列好,提取第几列   -d 分隔符,按照指定分隔符分割列 1.3 案例…
77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工具做为他们日常维护的参考手册.通过学习这些简单的工具,那些原本害怕命令行的人也可以变成一个脚本高手,从而通过执行 kernal命令和shell命令来最大限度的发挥linux的作用.请善用我们的指南,有任何Linux方面的问 题或者需要寻找相关答案请务必到我们 的TechTarget中国服务器论坛来发…
我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的是就是大量的练习 和实践.根据以下脚本我们可以拓展,这样我们提高的很快!举一反三! 1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下. 参考程序: #!/bin/sh FILENAME= echo “Input file name:” read FILENAME…
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10px; padding-bottom: 10px; background-color: white; padding: 30px; } body > *:first-child { margin-top: 0 !important; } body > *:last-child { ma…