首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell基本命令

结尾的文件,其实就是目录) $标识什么结尾, ^表示什么开头 ls  -d  */                                //列出所有目录 ll  -S   //按照文件大小排序...(有的没有列数,就说明空行,使用NF判断打印非空) # awk -F: 'NF>0 {print NF}' /etc/passwd 打印带有固定标识的信息: # tail -5 /etc/passwd...BEGIN放在标识前面只打印头部标识 # uptime | awk '{print $3}' | sed 's/,//g' | awk -F: '{print "系统运行了:"$1"小时"$2"分"}...$标识什么结尾;^标识什么开头 检测根使用情况的脚本 #vim df.sh #/bin/bash disk=`df -H | grep /$ | awk '{print $5}' | cut -d...fi 输出当前监听的端口和服务;(BEGIN表示只在头部输出;在变量$1$2中间的\t必须使用双引号,否则就当字符串处理了) # netstat -antlp | grep LISTEN | awk

78570
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Shell常用命令使用说明

    如果字符的最后一个字节落在由 -b 标志的 List 参数指示的 范围之内,该字符将被写出;否则,该字符将被排除 实例 1、字节定位 who|cut -b 3 o 2、字符定位 who|cut -...开头 cat /etc/passwd |grep ^op operator:x:11:0:operator:/root:/sbin/nologin 6、查询匹配bash结尾的 cat /etc...例如 1,20s/old/new/g 就是啦 sed元字符 - ^ # 匹配开始,如:/^sed/匹配所有sed开头。 - $ # 匹配结束,如:/sed$/匹配所有sed结尾的。...- \< # 匹配单词的开始,如:/\<love/匹配包含love开头的单词的。 - \> # 匹配单词的结束,如/love\>/匹配包含love结尾的单词的。...EOF 3 Do you like awk This's a test 10 There are orange,apple,mongo 5、过滤第一列等于2的 cat << EOF | awk '

    4.7K20

    Linux 三剑客练习题

    三剑客练习题 1、找出/proc/meminfo文件中s开头,至少用三种方式忽略大小写 # 第一种方式 [root@localhost ~]# grep -Ei '^s' /proc/meminfo...E '\ +' a.sh 11、过滤文件中#开头,后面至少有一个空格 [root@localhost ~]# grep -E '^#\ +' a.sh 12、查询出/etc目录中包含多少个root...开头的最后一个词 [root@localhost /]# grep -E '^s' /etc/passwd|sed -r 's/[0-9a-zA-Z]+$//g' [file] 16、删除一个文件中的所有数字...开头到nobody开头 [root@web02 ~]# sed -r '/^bin/,/^nobody/d' /etc/passwd 19、从指定开始,每隔两显示一次 awk -F: '{if...(NR>3){num=(NR-3)%2; if(num){print $0}}}' /etc/passwd # 没写 20、每隔5打印一个空格 [root@localhost /]# awk -F:

    82020

    - AWK征服数据处理

    总共有7642 这种格式文件一般需要写一个脚本去过滤掉无用的数据,可以发现这个文件有需要的数据有一些规律:w和> 都是想要数据,有了这个规律就好办了, 最终完成之后的数据如下: // 只提取了所有w开头的第...2和第3数据和> 开头的第1数据 00 00 00 01 03 04 00 00 03 11 02 10 00 2c 08 ff ff ff 00 80 00 00 00 40 00 00 00...提取w和>开头的所有数据 $FILE=源文件 $PROCESS=处理之后的数据 #匹配第一如果是w,则打印$2,$3,$4,如果第一是>,则打印$2 awk '{if($1 ~/w/) print...$2,$3,$4; else if($1 ~/>/) print $2}' $FILE > $PROCESS 这里使用了if和else语句,如果$1(第1列)和w匹配,则打印 第2,3,4列 如果...开头的第2列和第3列 $PROCESS=只有w和>开头的数据 # 如果第一是98,则打印第2.3否则打印第一 awk '{if($1 ~ /98/) print $2,$3; else print

    62310

    shell脚本实例

    '使用sed 去除以空格开头,第一个sort进行整理输出,uniq -c进行统计,sort -rn进行从大到小排列 # cat cat.ip | awk -F "|" '{print $1}' |...1 xxb       2 yangwa 注意:如果在脚本里面使用for(());do  done循环       好像if(())也是这样子滴  确定字符串的长度:(awk,expr)  #...cat hello | awk '{print length}' 打印每一的字符长度(算之间的空格)  #(expr length "$hello")  注意:hello是一个字符串变量  awk...*//g" ntp.conf     将配置文件中的#开头所有用空格代替(也可以实现上述功能)  但是上述两个都有弊端,就是输出有很多空格  sed+awk实现过滤空行和注释;  #sed "s/.../ {getline;print $1;}'  打印daemon开头的下一(如果打印后面几行可以getline;print $1) adm:x:3:4:adm:/var/adm:/sbin/nologin

    3.2K60

    linux学习第二十六篇:正则介绍,grep,sed,awk命令

    14:defwerfgdsgf [root@xie-02 grep]# grep -v '^#' inittab |grep -v '^$' //去除所有空行和 ‘#’ 开头 defwerfgdsgf...#qqefe #123123 [root@xie-02 grep]# grep '^[^a-zA-Z]' 1.txt //打印出不以大小写字符开头 123 4335 4576 #qqefe #123123...[root@xie-02 sed]# sed -n /t$/p test.txt //打印 t 结尾的 halt:x:7:0:halt:/sbin:/sbin/halt PS:不加脱义字符就加参数...//如果awk没有指定分隔符,会默认空格,空白字符为分隔符去打印 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [...把一个文件多行连接成一 awk ‘{printf(“%s “,$0)}’ file // %s 后记得要有一空格,否则出来就是完全连在一起的,中间连空格都没有 cat file |xargs

    3.9K60

    Shell四剑客实操案例

    txt结尾的文件;find /data/ -name “[A-Z]*” #查找/data/目录大写字母开头的文件;find /data/ -name “test*” #查找/data/目录test开头的文件...逐行处理直到文件末尾,然而如果打印在屏幕上,实质文件内容并没有改变,除非你使用重定向存储输出或者写入文件。...AWK基本原理是逐行处理文件中的数据,查找与命令行中所给定内容相匹配的模式,如果发现匹配内容,则进行下一个编程步骤,如果找不到匹配内容,则 继续处理下一。...常用AWK工具企业演练案列: AWK打印硬盘设备名称,默认空格为分割: df -h|awk ‘{print $1}’ AWK空格、冒号、\t、分号为分割: awk -F ‘[ :\t;]’ ‘{print...匹配除了换行符以外任意一个字符;.* 代表任意字符;^ 匹配首,即某个字符开头;$ 匹配行尾,即某个字符结尾;\(..\) 标记匹配字符;[] 匹配中括号里的任意指定字符,但只匹配一个字符;[^]

    2.1K21

    性能工具之linux三剑客awk、grep、sed详解

    打印出其中的每一 包含单词“boo”: boot book booze boots 但是如果你操作的是大型文件,就会出现这种情况:如果这些标识了文件中的哪一,它们是什么,可能对你更有用,如果需要在编辑器中打开文件...commands …} 对于输入文件的每一,它会查看是否有任何模式匹配指令,在这种情况下它仅在与该模式匹配的上运行,否则它在所有上运行。...所以说你想要每行你的文件中的数字开头,并用括号括起该数字: sed -e 's/[0-9]*/(&)/' 其中 [0-9] 是所有个位数的 regexp 范围,而 '*' 是重复计数,表示任何数字的位数...所以,如果你想做一个所有的列表 你可以使用的子目录 ls -l | sed -n -e '/^d/ p' 因为长列表开始每行都带有 'd' 符号,如果它是一个目录,所以这只会打印出来那些 'd' 符号开头...同样,如果你想删除所有评论符号 '#' 开头,你可以使用 sed -e '/^#/ d' sampler.log 也可以使用范围表单 sed -e '1,100 command' sampler.log

    4.1K31

    linux文本处理三剑客之awk

    ~不包含 正则 awk正则 ^表示....开头 某一列的开头 $3~/^oldoy/ $表示.....结尾的 某一列的结尾$4~/lidao$/ ^$表示空行 某一列是空的 很少用...#找出 第3列2开头,并显示第1,3和最后一列 ​找出 第3列1或2开头,并显示第1列,第3列和最后一列 ​还有这几种写法 ​3)表示范围 /哪里开始/,/哪里结束/ 常用...i in array) print array[i] awk数组专用循环,变量获取到的是数组的下标 #awk中字母 会被识别为变量,如果只是想使用字符串需要使用双引号引起来...awk 'BEGIN{a[0]=oldboy;a[1]=liao; print a[0],a[1]}' 所以无结果 数字和加双引号可以正常显示 ​awk数组专用循环打印 [root@heimajinpai...4.6 for循环 for n in 1 2 3 do echo $n done for(i=1;i<10;i++) do echo $i done for(i

    78700

    shell学习教程(超详细完整)

    如果存在则提示“用户存在”否则提示“用户不存在”。...如果数值符合,则执行对应的程序,如果数值不符,则依次比较下一个值。如果所有的值都不符合,则执行 “*)” (*代表所有其他值)中的程序。 case语句“case”开头“esac”结尾。...,awk中,^则是匹配字符串的开始 ^tux匹配tux开头 $ 匹配行尾,awk中,$则是匹配字符串的结尾 tux$匹配tux结尾的 ....如果条件符合,则执行动作,否则读入下一数据。如果没有条件,则每行都执行动作。 4)读入下一数据,重复执行以上步骤。...3、打印完第一列,然后打印第二列 : awk '{print $1 $2}' filename 4、打印文本文件的总行数 : awk 'END{print NR}' filename 5、打印文本第一

    6K20

    Linux 【命令】

    ,树状图将会 pid (如果有指定) 如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。   ...-name "[a-z]*" # 在当前目录下查找所有字母开头的文件 find /etc -name "host*" # 在/etc目录下查找host开头的文件 find ....-type f |xargs ls -l linux中正则表达式与grep使用  常用正则: ^linux # linux开头 $php # php结尾的 . # 匹配任意单字符 .+ # 匹配任意多个字符...(-v 取反) grep与正则结合 # 在file文件中找到 linux 开头 grep -E '^linux' file # 在文件中查找 linux 结尾的 grep -E 'linux...: w|awk 'NR==1{print $6}' # 打印第一,第六列的数据 cat /etc/passwd|awk -F":" '{print $1}' # -F指定":"分隔,打印第一列数据

    19.4K21

    Linux下常用的shell脚本整理

    如下,如果有一个参数则赋值个sourceFile这个变量,否则用默认值。   Shell代码   1.   2. #!/bin/bash   3..UTF-8   4....关于if else:   如果两条命令写在同一则需要用";"号隔开,一只写一条命令就不需要写";"号了。和[命令一样,要注意命令和各参数之间必须用空格隔开。...//或者 regex = "2010-11-08.*"   备注:JAVA中匹配“2010-11-08"开头的字符串。   ...Shell代码   1.   2. regex = "2010-11-08*"   备注:SHELL中匹配“2010-11-08”开头的字符串。   ...tt.txt开头的N多个文件   -l 表示按切割   tt.txt 表示切割后的零碎文件的前缀   29、循环读取   读取文件每行并输出   方法一:   Shell代码   1. #!

    4.1K40

    快速理解linux文本分析利器awk

    awk是什么 如果工作中需要操作linux比较多,那么awk是非常值得学习的 awk是一个极其强大的文本分析工具,把文件逐行的读入,指定分隔符将每行切片,切开的部分再进行各种分析处理 可以使用awk...}' 这个命令的结果是只显示文件名列表 工作过程 awk命令接收 ll 结果信息,并逐行处理 对每一结果记录按空格(空格是默认分隔符)分割,并打印出第9列的信息 语法说明 单引号('')里面的部分是...,第1列内容 + tab + 第6列内容 (3)awk -F: '/root/{print $0}' /etc/passwd 上两个命令是处理每一记录,如果想过滤出自己关注的记录,可以使用匹配模式...这个命令就是对每行进行匹配,如果这一信息中含有 root,才执行后面{}中的命令 双斜杠(/.../)中支持正则表达式,例如匹配 root 开头 awk -F: '/^root/{print...中的条件语句是从C语言中借鉴来的,支持 if、while、do/while、for、break、continue --- 通过上面的几个例子,已经可以看到awk的概貌,也可以理解了为什么awk这么强大

    1.2K80

    awk 简单使用教程

    awk基本概念awk是基于列的处理工具,它的工作方式是按读取文本并视为一条记录,每条记录字段分割成若干字段,然后输出各字段的值。...awk -F "\t" '{OFS="\t"} {if ($4==3) $4=5}1' test.txt 上述命令指定输入分隔符为TAB,如果第4个字段为3,则将其替换为5,然后打印出来({}后跟1表示打印...下面展示一些不同的匹配的写法:打印域匹配的 awk -F: '{if($3==0) print}' /etc/passwd 匹配大于7列的打印列数和整行 awk -F: 'NF>7 {...print NF,$0}' /etc/passwd 打印数字开头 awk '/^[0-9]/{print $0}' group.txt 匹配包含root或net或ucp的任意 awk...(在文件名字后面加后缀.awk 翻遍区分)awk脚本文件开头一般都是这样的:#!

    17000
    领券