Centos7 默认安装了openJDK,jps命令不能使用,如果jdk是重新安装指定的版本,默认不需要重新安装jps服务 [root@maven-test ~]# jps bash: jps: command
3)在cut.txt文件中切割出guan [atguigu@hadoop101 datas]$ cat cut.txt | grep "guan" | cut -d " " -f 1 guan (4)选取系统...PATH变量值,第2个“:”开始后的所有路径: [atguigu@hadoop101 datas]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin...文件内容并没有改变,除非你使用重定向存储输出。 基本用法 sed [选项参数] ‘command’ filename 选项参数说明 ? 命令功能描述 ?...[atguigu@hadoop102 datas]$ cat sed.txt dong shen guan zhen wo wo lai lai le le 注意:文件并没有改变 (2)删除...atguigu,/bin/bash dahaige,/bin/zuishuai 注意:BEGIN 在所有数据读取行之前执行;END 在所有数据执行之后执行。
2.3变量 变量定义的语法为: 变量名=变量值 变量的分类:本地变量/全局变量/shell内置变量。 注意在定义的时候 =左右两边是没有空格的。...2.3.1.1定义普通变量 方式一: 变量名=变量值 此种方式定义的变量值必须是一个整体,中间没有特殊的符号。 方式二: 变量名='变量值' 不会解析变量值的内容。...方式三: 变量名="变量值" 如果变量值中有可以解析的变量,那么会先解析这个变量,然后将结果和变量值中其他内容组合成一个整体。 数字不加引号。...2.3.3.2和字符串相关的变量 我们可以对变量值进行截取。...hello.sh 2 您选择的套餐为: 套餐 2 没有输入参数,变量a获取不到值,那么默认为套餐1。
le (4)在cut.txt文件中切割出guan [fsdm@hadoop101 datas]$ cat cut.txt | grep "guan" | cut -d " " -f 1 guan (5)选取系统...PATH变量值,第2个“:”开始后的所有路径: [fsdm@hadoop101 datas]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:...文件内容并没有改变,除非你使用重定向存储输出。 1. 基本用法 sed [选项参数] ‘command’ filename 2. ...fsdm@hadoop102 datas]$ cat sed.txt dong shen guan zhen wo wo lai lai le le 注意:实际文件内容并没有改变 (2)删除sed.txt...fsdm,/bin/bash dahaige,/bin/zuishuai 注意:BEGIN 在所有数据读取行之前执行;END 在所有数据执行之后执行。
特点: 变量值不能包含特殊字符 方式二: 变量名='变量值' 特点: 原字符输出 方式二: 变量名="变量值" 特点: 在输出之前,先对变量值进行解析...$() 其实是一种提前执行的符号 1.3.3 全局变量 全局变量 当前系统下所有环境都生效的一个变量 查看命令 env 定义方式 方式一: 变量名=变量值...export 变量名 方式二: export 变量名=变量值 示例: [root@shell ~]# env | grep SHELL SHELL=/bin...127 [root@shell scripts]# /bin/bash hah.sh /bin/bash: hah.sh: 没有那个文件或目录 [root@shell scripts...简单函数定义和调用 定义函数: 函数名(){ 函数体 } 调用函数: 函数名 关键点: 必须先定义,然后再调用 只定义或者只调用都没有任何意义
le (3)在cut.txt文件中切割出guan [root@node01 datas]# cat cut.txt | grep "guan" | cut -d " " -f 1 guan (4)选取系统...PATH变量值,第2个“:”开始后的所有路径: [root@node01 datas]# echo $PATH /usr/lib64/qt-3.3/bin::/export/servers/kafka-eagle-bin...文件内容并没有改变,除非你使用重定向存储输出。...root@node01 datas]# sed '2a mei nv' sed.txt dong shen guan zhen mei nv wo wo lai lai le le 注意:文件并没有改变.../bin/bash if [ -f file.txt ]; then echo "文件存在!" else echo "文件不存在!"
,但是没有p就不会将匹配到的内容输出 [root@centos6 ~]# cat b.txt [root@centos6 ~]# 仅列出 testfile 文件内的第 5-7 行 nl testfile..." " -f 1,3 words 根据空格切割,获取 words 第 2 行第 1 列 cat words | head -n 2 | tail -n 1 | cut -d " " -f 1 选取系统...PATH 变量值 [admin@ datas]$ echo $PATH 选取系统 PATH 变量值,第 2 个“:”开始后的所有路径: [admin@ datas]$ echo $PATH | cut...-d : -f 2- 选取系统 PATH 变量值,第 4 列(包括第 4 列)之前的所有路径: [admin@ datas]$ echo $PATH | cut -d : -f -4 选取系统...PATH 变量值,第 2 到 4 列(包括第 2 到 4 列)之间的所有路径: [admin@mc datas]$ echo $PATH | cut -d : -f 2-4 切割 ifconfig
本文目录 sudo自动输入密码 远程执行shell命令 间接引用 批量文件命名 判断某个文件夹是否存在并 点击随机数位置 去除所有本地化的设置 修改sh默认连接到bash的一种方法 命令行中执行命令行...注释多行 命令行实现多条shell set命令 显示文件夹下所有文件的绝对路径 awk $变量值 secure.sh ?...修改sh默认连接到bash的一种方法 sudo dpkg-reconfigure dash 选择no 即可!...-n '1p' 1000098.txt |awk '{print NF}' //查看某行有多少列 $变量值 $?.../bin/bash if [ "" = "$1" ] || [ "" = "$2" ];then echo security.sh -e/-d filename elif [ "-e" = $1 ];then
当我们需要将一些 Bash 变量值转换为例如大写时,我们经常使用一些管道,如下所示: foo="foo" foo=$(echo ${foo} | tr a-z A-Z) 或使用 AWK: foo=$...(echo ${foo} | awk '{print toupper($0)}') 或使用 Perl: foo=$(echo ${foo} | perl -ne 'print uc') 或使用 sed...: foo=$(echo ${foo} | sed 's/[a-z]/\U&/g') 但是,仅使用纯 Bash 就可以达到相同的结果!...翻译:IT运维技术圈 英文原版:https://dev.to/rzmv/how-to-make-variable-values-uppercase-or-lowercase-in-bash-2ee8
管道符 管道符我们或许听说过或则没有听说过,但是我们会被它的名字所迷惑,管道符到底是什么?它的作用是什么?当然我们看到下面例子的时候,一看就会变的非常简单。...sed可以完成的操作很多,比如sed截取文件 [Bash shell] 纯文本查看 复制代码 ?...sed替换文件内字符 [Bash shell] 纯文本查看 复制代码 ?...grep Swap选取Swap所在行。...把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。
/bin/bash while [ "$w" !...[root@linux /]# sh xxx.sh 请输入yes退出循环:no 请输入yes退出循环:yes [root@linux /]# case分支语句 case语句的语法结构 case 变量值...Nginx服务 ;; *) echo "Usage:$0 (start|stop|restart|reload)" esac [root@linux /]# curl -I -s 127.0.0.1|sed...200 OK [root@linux /]# sh sss.sh stop #关闭Nginx服务 正在停止Nginx服务 [root@linux /]# curl -I -s 127.0.0.1|sed...#不能访问 [root@linux /]# sh sss.sh start #启动Nginx 正在启动Nginx访问 [root@linux /]# curl -I -s 127.0.0.1|sed
if 、for、while… 需缩进,话说我 if 中括号内没有加空格,调试了几个小时没有发现问题,还是后面不小心按空格才发现问题。 赋值(=)前后不能有空格。...括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。...中的 cmd 执行一次,得到其标准输出,再将此输出放到原来命令 初始化数组:array=(a b c d) 双小括号 (( )) 双小括号 (( )),有四种用途:整数扩展、运行 C语言 代码、重定义变量值...如:echo ((16#5f)) 结果为95 (16进位转十进制) 重定义变量值:a=5; ((a++)) 可将 $a 重定义为 6 算术运算比较:(( )) 变量可以不使用 $ 符号前缀。...如果我们不用绝对路径指明,通常我们用的都是 bash 自带的命令。if/test 结构中的左中括号是调用 test 的命令标识,右中括号是关闭条件判断的。
(4)选取系统PATH变量值,第2个“:”开始后的所有路径 [jack@hadoop datas]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/...10.2 sed sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。...文件内容并没有改变,除非你使用重定向存储输出。 1、基本用法 sed [选项参数] 'command' filename 2、选项参数说明 ? 3、命令功能描述 ?...@hadoop datas]$ cat sed.txt dong shen guan zhen wo wo lai lai le le 注意:文件并没有改变。...(2)删除sed.txt文件所有包含wo的行 [jack@hadoop datas]$ sed "/wo/d" sed.txt dong shen guan zhen lai lai le le
/bin/bash #======用户填写信息网卡聚合后的IP信息 gatewayset=1.1.1.1 netmask=255.255.255.0 # 子网掩码 a...sed删除空格 ip=$(cat $ethCatalog | grep IPADDR | awk -F "=" 'NR==1{print $2}' | sed "s/ //g") ; echo "IP地址为...# find /etc -name ifcfg* # -name指定名字,符号 * 后面所有内容 echo "==========没有需改的网卡信息为...============" cat $ethCatalog sed -i "/IPADDR/d" $ethCatalog sed -i "/NETMASK/d" $ethCatalog sed -i...netmask qa=1 # 定义qa变量值为
/helloworld.sh Helloworld 发现并没有打印输出变量B的值。...le (3)在cut.txt文件中切割出guan [root@xxx-test2]$ cat cut.txt | grep "guan" | cut -d " " -f 1 guan (4)选取系统...PATH变量值,第2个“:”开始后的所有路径: [root@xxx-test2]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin...文件内容并没有改变,除非你使用重定向存储输出。...@xxx-test2]$ cat sed.txt dong shen guan zhen wo wo lai lai le le 注意:文件并没有改变 (2)删除sed.txt文件所有包含
不能使用标点符号,不能使用bash里的关键字(可用help命令查看保留关键字)。 环境变量建议大写,便于区分 如果需要增加变量的值,那么可以进行变量值的叠加。.../bin/bash #统计根分区使用率 rate=$(df -h | grep "/dev/sda2" | awk '{ print $5}’| cut -d "%"-f1) #把根分区使用率作为变量值赋予变量...文本选取、替换、删除、新增的命令 sed主要是用来将数据进行选取、替换、删除、新增的命令。...对sed命令大家要注意,sed所做的修改并不会直接改变文件的内容(如果是用管道符接收的命令的输出,这种情况连文件都没有),而是把修改结果只显示到屏幕上,除非使用“-i”选项才会直接修改文件。...“-e”选项可以同时执行多个sed动作,当然如果只是执行一个动作也可以使用“-e”选项,但是这时没有什么意义。
/bin/bash #!/usr/bin/perl #!/usr/bin/tcl #!/bin/sed -f #!/usr/awk -f 解释说明 #!...$# 添加到Shell的参数个数 $* 和 $# 的区别: 不被双引号包含时,两者没有区别。 当被双引号包含时, $* 是将所有参数看作一整个数据。而 $# 则是将每个参数看作一个数据。...设置变量:set 变量名=变量值。 删除变量:unset 变量名=变量值。...变量在使用过程中,如果没有$作为前缀,需要思考如下情况: 被声明或被赋值。 是否被unset 被使用export方式导入 是否作为信号量。 赋值的两种方式: - 使用 = 方式。.../bin/bash) 16.3 注释 # 全局删除 sed "/^#\|^$\| *#/d" checkpip_deps.sh # 将文件中注释直接全部删除 16.4 查看指定的行范围的内容
这时其实使用sed就更有特色了。 使用sed显示基于字符的域: 可以使用sed基于字符模式而不是基于域来进行字符串分隔。模式描述了将要分隔中的元素。...$/ {getline;print $1;}' 打印行尾bash的下一行和最后bash结尾的行 bin:x:1:1:bin:/bin:/sbin/nologin xxb:x:500:500::/...ntpd.conf < ed.script (也可以把修改部分写在脚本) g/server/s/server/xxb-andy/g 第一g表示全局globle,指示ed命令对整个目标文件执行查找和替换,如果没有只替换一行...进程的后台ID 注意:变量的饮用一般使用双引号"" 从键盘读入变量值: #read hello 将键盘输入的数字赋值到hello #!.../bin/bash read x y [ "$x" = "$y" ] echo $? 函数的定义:计算两数之和 #!
/bin/bash cat `ls | grep SDU` | awk -F" " '{print $1}' |sort | uniq -c | awk -F" " '{print $2}' > name.txt...# 重新给 ja 赋值:打印上一次ja变量的值,grep 过滤名字行,awk 字段处理 -F 指定分隔符为空格,print 第二列,sed...替换空格为空,打印变量a if [ ${#ja} -lt 1 ] # 判断变量 ja 的长度小于1 就重新赋值变量值为0 then ja=0...cs ; select * from SDU2 where SDU2.name='$i' "` jb=`echo "$jb" | grep $i | awk -F" " '{print $2}' | sed...cs ; select * from SDU3 where SDU3.name='$i' "` jc=`echo "$jc" | grep $i | awk -F" " '{print $2}' | sed
在上一期的文章sed:小工具大用处中小编为大家介绍了sed的使用方法,今天继续为大家介绍另一个非常常用的工具awk。祖国70周年生日在即,为了不给祖国拖后腿,抓紧时间最后再努力学习一把!...awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。...我们可以使用匹配模块搭配正则表达式选取行: 其中匹配内容里面可以使用bash变量,但是必须用加单引号,如下所示: 我们也可以根据分隔符选取字段,例如使用last列出最后五行登陆者信息,并使用awk...,如要是进一步只选取账户和IP可以使用sed命令: 由以上例子可以看出awk工作流程:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,0则表示所有域,1表示第一个域,n表示第...第二个例子中定义了关联数组a[1](参照Perl语言中的哈希),其下标是key(既可能是数字也可能是字母,没有规则)不需要定义初值,通过for循环结构打印出结果。a[1]++实质为计算
领取专属 10元无门槛券
手把手带您无忧上云