精华内容
下载资源
问答
  • Vicky的tag词做了进一步的整理。今天她遇到一个问题:现在她有按照各个tag整理的酒店名称,希望能把名称里出现了tag词的酒店标识出来。比如在“温泉”这个数据页上,tag词是“温泉”,那么就希望把这一...使用条件格式

    Vicky的tag词做了进一步的整理。今天她遇到一个问题:现在她有按照各个tag整理的酒店名称,希望能把名称里出现了tag词的酒店标识出来。比如在“温泉”这个数据页上,tag词是“温泉”,那么就希望把这一数据页所有酒店名称里出现了“温泉”的酒店都用黄色的背景给标识出来。希望的效果如下图所示:

    希望的效果图

    这个需求其实就是需要在B这一列上根据文本内容中是否包含“温泉”这一关键字实现不同的格式。使用条件格式就可以实现这一功能。具体的做法如下:

    1. 用鼠标选中B整个这一列;
    2. 在“开始”菜单页中点击“条件格式”,选择“管理条件格式”。
    3. 在随后出现的菜单中按“新建规则”按钮。
    4. 在随后出现的菜单中选择“使用公式确定要设置格式的单元格”,并在“为符合此公式的值设置格式”的输入框中输入“=SEARCH("温泉",INDIRECT("B"&ROW()))”
      Input Formula for conditional format
    5. 点击“格式”按钮后设置黄色的背景和对应的加粗深蓝色字体。
    6. 点击“确定”后再点击“确定”以保存新的设置。

    这里要说明一下:

    1. 上述公式的适用范围是B:B这一整列,这就是为什么要用到INDIRECT函数和ROW函数。
    2. 这样设置的好处是以后直接把新的酒店添加到这张数据表中即可,不需要再用格式刷复制格式。
    3. INDIRECT("B"&ROW())这一部分公式是返回当前一行中B列的这一单元格,如果当前是第3行,就是B3单元格,如果是第4行,就是B4这一单元格,以此类推。
    4. 有关INDIRECT函数的用法和实例,可以参考我以前的文章:为Sunny定制Collusion Report Template之EXCEL技巧之一:INDIRECT函数
    5. 最后通过SEARCH函数在当前行的B列单元格中寻找“温泉”这一关键词,如果能找到,刚这个值是大于0的整数;如果找不到就是0。记得字符串要用双引号来标识。
    6. 对于条件格式的规则来说,会对所有不为0的公式计算结果应用对应的格式。关于这一问题,后面会有专门的文章来探讨。
    7. 如果B这一列上还应用了别的条件格式,如下图,请把hightlight的规则设置到最上面,以保证高亮的效果不会被其它的条件格式所覆盖。
      Multiple Conditional Rules

     

    展开全文
  • 条件格式规则管理(新建、编辑、删除等) 单元格值(比较运算类的条件格式特定文本(文本类的条件格式) 发生日期(日期类的条件格式) 空与不空错与不错 排名条件格式 高于或低于平均值条件格式 重复与独一条件...
  • 在数据视图中,你可以应用条件格式到HTML标签、数据值或文本。你指定的标准不一定基于被格式化的域。 本次练习中,你高光(少于或等于特定值的)列表项目数据。 准备:打开Stock.aspx,选中Furniture Price List...

            数据视图和XLV Web部件提供了“条件格式”功能,你可以用来根据你指定的标准,修改单元格或组的外观。在数据视图中,你可以应用条件格式到HTML标签、数据值或文本。你指定的标准不一定基于被格式化的域。

            本次练习中,你高光(少于或等于特定值的)列表项目数据。

            准备:打开Stock.aspx,选中Furniture Price List DFWP。

    1.    在In Stock列,点击99数据单元格。在选项----筛选、排序和分组组中,点击条件格式,然后点击“设置列格式”。


    2.    在条件准则对话框中,域名选择“In Stock”。

    3.    在比较下,点击等于,从列表选择“小于或等于”。

    4.    在值下,点击0,输入10


    5.    点击设置样式。

    6.    点击颜色箭头,选择红色。


    7.    点击确定。关闭设置样式对话框

            在In Stock列,小于等于10的值以红色字体出现。在条件格式任务窗格,应用样式时间条件出现,显示了标准和格式的预览。

    8.    指向应用样式时间,点击出现的箭头,点击修改样式


    9.    在类别下,点击背景,点击背景颜色,选择黄色。

    10.  点击确定

    11.  点击保存,点击F12预览。

    转载于:https://www.cnblogs.com/crazygolf/p/3857116.html

    展开全文
  • 先决条件 brew install node 用法 npm install -g snips snips init snips export --help # To see a list of all commands, run snips --help snips 目前支持以下应用: 短跑 崇高文本3 PHPStorm(使用版本 ...
  • 文本三剑客之三awk

    2017-11-14 11:25:00
    awk 打印文本内容 awk: Aho, Kernighan and Weinberger 报告生成器,以特定条件查找文本内容,再以特定格式显示出来 awk命令的格式: # awk [option] 'script' file1 file2 ... # awk [option] 'PATT...

                awk    打印文本内容

     

    awk:           Aho, Kernighan and Weinberger

    报告生成器,以特定的条件查找文本内容,再以特定的格式显示出来


    awk命令的格式:


    # awk [option] 'script' file1 file2 ...


    # awk [option] 'PATTERN{action}' file1 file2 ...


    PATTERN:

    用文本字符与正则表达式元字符描述的条件,可以省略不写

    action:

    print

    printf 指定输出项的格式;格式必须写


    option选项:

    -F 指定文本分割符


    awk处理文本机制:

    awk将符合PATTERN的文本逐行取出,并按照指定的分割符(默认为空白,

    通过-F选项可以指定分割符)进行分割,然后将分割后的每段按照特定的格式输出 


    awk的输出:


    一、print


    print的使用格式:

    print item1,item2,....

    注意:

    1、各项目间使用逗号分隔开,而输出时以空白字符作为分隔

    2、输出的item可以为字符串、数值、当前的记录的字段($1)、变量或者awk的表达式;数值会先转换成字符串,然后输出

    3、print命令后面的item可以省略,此时其功能相当于print $0($0代表未分割的整行文本内容),因此,如果想输出空白行,则需要使用print "";



    以空白分割,显示文本中的第1段及第2段内容

    # awk '{print $1,$2}' test.txt 

    this is


    [root@shell ~]# df -hT | sed '1d' | awk '{print "Disk name: ", $1,"Mount Point: ", $7, "Total Size: ", $3, "Free size ", $5}'


    示例:

    输出3行内容

    # awk 'BEGIN{print "line one\nline two\nline three"}'

    line one

    line two

    line three


    输出/etc/passwd中的用户名及其uid

    # awk -F: '{print $1,$3}' /etc/passwd 


    awk变量


    1、awk内置变量之记录变量


    FS: 指定读取文本时,所使用的行分隔符,默认为空白字符;相当于awk的-F选项 

    OFS:指定输出的分隔符,默认为空白字符;


    [root@localhost ~]# head -n 1 /etc/passwd | awk -F: '{print $1,$7}'

    root /bin/bash

    [root@localhost ~]# 

    [root@localhost ~]# head -n 1 /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$7}'

    root /bin/bash


    [root@localhost ~]# head -n 1 /etc/passwd | awk -F: '{print $1,$7}'

    root /bin/bash

    [root@localhost ~]# head -n 1 /etc/passwd | awk -F: 'BEGIN{OFS="---"}{print $1,$7}'

    root---/bin/bash

    [root@localhost ~]# 



    RS: 指定读取文本时,所使用的换行符(指定以什么字符作为换行符);默认为换行符

    ORS:指定输出时所使用的行分隔符



    2、awk内置变量之数据变量


    NR:记录awk所处理的文本的行数,如果有多个文件,所有文件统一进行计数


    [root@localhost ~]# awk '{print "第",NR,"行内容:",$0}' /etc/hosts /etc/issue

    第 1 行内容: 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

    第 2 行内容: ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    第 3 行内容: CentOS release 6.6 (Final)

    第 4 行内容: Kernel \r on an \m

    第 5 行内容:


    注意:

    print在显示变量值时,不需要使用$



    FNR:记录awk正在处理的文件的行数,如果有多个文件,每个文件分别进行计数


    [root@localhost ~]# awk '{print "第",FNR,"行内容:",$0}' /etc/hosts /etc/issue

    第 1 行内容: 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

    第 2 行内容: ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    第 1 行内容: CentOS release 6.6 (Final)

    第 2 行内容: Kernel \r on an \m

    第 3 行内容:



    NF:记录awk正在处理的当前行被分隔成了几个字段

    # cat test.txt 

    this is a test.

    # awk '{print NF}' test.txt 

    4

    # awk '{print $NF}' test.txt 

    test.


    [root@localhost ~]# awk -F: '{print "Number of line: ", NF}' /etc/passwd


    [root@shell ~]# awk -F. '{print "Number of Line: ", NF}' /etc/hosts

    [root@shell ~]# awk 'BEGIN{FS="."}{print "Number of Line: ", NF}' /etc/hosts

    Number of Line:  6

    Number of Line:  3

    Number of Line:  6



    3、用户自定义的变量


    awk允许用户自定义变量,变量名称不能以数字开头,且区分大小写


    示例:


    方法1:使用-v选项


    [root@localhost ~]# head -n 3 /etc/passwd | awk -v test="hello" -F: '{print test, $1}'

    hello root

    hello bin

    hello daemon



    方法2:在BEGIN{}模式中定义变量


    [root@localhost ~]# head -n 3 /etc/passwd | awk -F: 'BEGIN{test="hello"}{print test, $1}'

    hello root

    hello bin

    hello daemon

    [root@localhost ~]# 



    二、printf,格式化输出内容


    格式:

    printf format,item1,item2,...


    要点:

    1、printf输出时要指定格式format

    2、format用于指定后面的每个item输出的格式

    3、printf语句不会自动打印换行符\n 


    format:


    %c:显示单个字符

    %d,%i:十进制整数

    %e,%E:科学计数法显示数值

    %f:显示浮点数

    %g,%G:以科学计数法的格式或浮点数的格式显示数值

    %s:显示字符串

    %u:无符号整数

    %%:显示%自身


    修饰符:

    N:显示宽度,N为数字

    -:左对齐,默认为右对齐

    +:显示数值符号



    示例: 


    [root@localhost ~]# head -n 3 /etc/passwd | awk -F: '{printf "%-10s%-8s%-20s\n", $1,$6,$7}'

    root      /root   /bin/bash           

    bin       /bin    /sbin/nologin       

    daemon    /sbin   /sbin/nologin   



    [root@shell ~]# df -hT | sed '1d' | awk '{printf "%-15s%-10s\n", $1,$7}'

    /dev/vda2      /         

    tmpfs          /dev/shm  

    /dev/vda1      /boot     

    [root@shell ~]# 


    [root@shell ~]# awk -F: '{printf "%-15s%-10d%-25s%-15s\n",$1,$3,$6,$7}' /etc/passwd

    root           0         /root                    /bin/bash      

    bin            1         /bin                     /sbin/nologin  

    daemon         2         /sbin                    /sbin/nologin  

    adm            3         /var/adm                 /sbin/nologin  

    lp             4         /var/spool/lpd           /sbin/nologin  




    [root@node2 ~]# df -hT | sed '1d' | awk '{printf "%-10s%-10s%-12s%-10s%-15s%-6s%-8s%-4s\n","DiskName:", $1, "MountPoint:", $7, "TotalSize:", $3, "Usage:", $6}'

    DiskName: /dev/sda3 MountPoint: /         TotalSize:     77G   Usage:  6%  

    DiskName: tmpfs     MountPoint: /dev/shm  TotalSize:     491M  Usage:  0%  

    DiskName: /dev/sda1 MountPoint: /boot     TotalSize:     190M  Usage:  15% 



    # awk [option] 'PATTERN{action}' file1 file2 ...


    action:

    print 

    printf 

    options: 

    -F 

    -v 



    PATTERN表示方法:


    1、正则表达式,格式为/regex/


    以冒号为分隔符,显示/etc/passwd以r开头的行的第1段


    # awk -F: '/^r/{print $1}' /etc/passwd

    root

    rpc

    rtkit

    rpcuser


    [root@localhost ~]# awk '/^(r|s)/{print $0}' /etc/passwd


    [root@localhost ~]# awk '/^[rs]/{print $0}' /etc/passwd


    [root@localhost ~]# ls -l /tmp/ | awk '/^d/{print $9}'


    [root@localhost ~]# netstat -antp | awk '/^tcp/{print $0}'

    [root@localhost ~]# netstat -antp | sed '1,2d'




    2、表达式,由下述操作符组成的表达式


    awk的操作符


    1、算术操作符


    -x 负值

    +x 转换为数值,正值

    x^y,x**y  次方 2^3

    x*y

    x/y

    x+y

    x-y

    x%y


    2、字符串操作符


    +:实现字符串连接 "ab"+"cd"    abcd "ab"+"12" ab12



    3、赋值操作符

    =

    +=   a+=b   a=a+b    a+=2 a=a+2

    -=

    *=

    /=

    %=

    ^= x ^= y     x^y       

    **=

      

     

    ++ x++ x=x+1

    --



    4、比较操作符


    x < y

    x <= y

    x > y

    x >= y

    x == y

    x != y

    x ~ y:x为字符串,y为模式,如果x可以被模式匹配则为真,否则为假 "abc" ~ ^a 

    x !~ y



    5、逻辑关系符

    &&

    ||


    显示uid大于等于500的用户名及uid 

    # awk -F: '$3>=500{print $1,$3}' /etc/passwd

    nfsnobody 65534

    wjc 500


    显示默认shell为/bin/bash的用户名及shell名称

    # awk -F: '$7=="/bin/bash"{print $1,$7}' /etc/passwd

    # awk -F: '$7 ~ "bash$"{print $1,$7}' /etc/passwd

    root /bin/bash

    mysql /bin/bash

    wjc /bin/bash


    [root@node2 ~]# netstat -antp | awk '$6=="ESTABLISHED"{print $0}'

    tcp        0     52 192.168.87.102:22           192.168.87.1:49541          ESTABLISHED 1940/sshd           

    tcp        0      0 192.168.87.102:22           192.168.87.1:49650          ESTABLISHED 2135/sshd           

    [root@node2 ~]# 



    [root@localhost ~]# df -hT | awk '+$6>10{print $1,$NF}'

    /dev/sda1 /boot

    /dev/sr0 /mnt




    3、指定范围,格式为pattern1,pattern2


    以冒号为分隔符,显示uid=0到最后一个字段为nologin结尾中间所有行的用户名,uid及shell


    # awk -F: '$3==0,$7 ~ "nologin$"{print $1,$3,$7}' /etc/passwd

    root 0 /bin/bash

    bin 1 /sbin/nologin


    格式化输出样例

    # awk -F: '$3==0,$7 ~ "nologin$"{printf "%-10s%-10s%-20s\n",$1,$3,$7}' /etc/passwd

    root      0         /bin/bash           

    bin       1         /sbin/nologin   


    4、BEGIN/END,特殊模式

    BEGIN表示awk进行处理前执行一次操作

    END表示awk处理完最后一行结束前执行一次操作


    使用BEGIN打印表头

    # awk -F: 'BEGIN{printf "%-10s%-10s%-20s\n","Username","Uid","Shell"}$3==0,$7 ~ "nologin$"{printf "%-10s%-10s%-10s\n",$1,$3,$7}' /etc/passwd

    Username  Uid       Shell               

    root      0         /bin/bash 

    bin       1         /sbin/nologin


    使用END打印表尾

    # awk -F: 'BEGIN{printf "%-10s%-10s%-20s\n","Username","Uid","Shell"}$3==0,$7 ~ "nologin$"{printf "%-10s%-10s%-10s\n",$1,$3,$7}END{print "END OF File..."}' /etc/passwd

    Username  Uid       Shell               

    root      0         /bin/bash 

    bin       1         /sbin/nologin

    END OF File...



    # awk [option] 'PATTERN{action}' file1 file2 ... 



    逻辑控制语句


    1、if...else 


    格式:


    if(条件) {语句; 语句} else {语句1; 语句2}


    如果statement只有一条语句,{}可以不写


    [root@localhost ~]# awk -F: '{if($3==0){print $1,"is administrator."}}' /etc/passwd


    以冒号为分隔符,判断第1个字段,如果为root,则显示用户名 Admin,否则显示用户名 Common User

    # awk -F: '{if ($1=="root") print $1,"Admin";else print $1,"Common User"}' /etc/passwd

    root Admin

    bin Common User

    daemon Common User

    adm Common User

    lp Common User

    sync Common User

    shutdown Common User

    格式化输出 

    # awk -F: '{if ($1=="root") printf "%-15s: %-15s\n",$1,"Admin";else printf "%-15s: %-15s\n",$1,"Common User"}' /etc/passwd

    root           : Admin          

    bin            : Common User    

    daemon         : Common User    

    adm            : Common User    

    lp             : Common User    

    sync           : Common User    

    shutdown       : Common User    

    halt           : Common User    


    统计系统用户个数

    [root@localhost ~]# awk -F: '{if($3>0 && $3<500){count++;print $1}}END{print count}' /etc/passwd


    [root@shell ~]# awk -v count=0 -F: '{if($3<=500){print $1;count++}}END{print "系统用户数量:",count}' /etc/passwd

    [root@shell ~]# awk -F: 'BEGIN{count=0}{if($3<=500){print $1;count++}}END{print "系统用户数量:",count}' /etc/passwd



    统计uid大于50的用户个数

    # awk -F: -v sum=0 '{if ($3>50) sum++}END{print "The number of user: ",sum}' /etc/passwd

    The number of user:  16


    取出磁盘使用率大于10%的

    # df -h | sed '1d' | awk '{if (+$5>10) {print $0}}'

    /dev/sda1             194M   26M  158M  15% /boot

    /dev/sr0              2.9G  2.9G     0 100% /mnt


    [root@localhost ~]# awk -F: '{if($3==0){print $1}else{print $7}}' /etc/passwd


    [root@localhost ~]# awk -F: '{if($3==0){count++}else{i++}}END{print "管理用户个数:",count,"普通用户个数:",i}' /etc/passwd



    [root@localhost ~]# awk -F: '/bash$/ || /nologin$/{if($7=="/bin/bash"){i++} else{j++}}END{print "bash用户数量:",i, "nologin用户数量:",j}' /etc/passwd

    bash用户数量: 38 nologin用户数量: 28



    2、while


    格式:


    while(条件) {语句1;语句2;.........}



    以冒号为分隔符,判断每一行的每一个字段的长度如果大于4,则显示之

    # awk -F: '{i=1;while (i<=7) {if (length($i)>=4) {print $i};i++}}' /etc/passwd



    统计test.txt文件中长度大小5的单词


    [root@localhost ~]# awk '{i=1; while(i<=NF) {if(length($i)>5) {print $i};i++}}' test.txt 



    3、for 遍历数组


    格式:


    for(变量定义; 循环终止的条件; 改变循环条件的语句) {语句;语句;....}


    for (i=1;i<=4;i++) { ... }



    以冒号为分隔符,显示/etc/passwd每一行的前3个字段

    # awk -F: '{for (i=1;i<=3;i++) {print $i}}' /etc/passwd

    root

    x

    0

    bin

    x

    1


    4、break continue


    用于中断循环



    awk中使用数组


    数组 

    array[index-expression]


    数组下标从1开始,也可以使用字符串作为数组下标


    index-expression可以使用任意字符串。

    需要注意的是,如果某数组元素事先不存在,那么在引用其时,awk会自动创建此元素并初始化为0;因此,要判断某数组中是否存在某元素,需要使用index in array的方式


    要遍历数组中每一个元素,需要使用如下的特殊结构:


    for(变量 in 数组名称){print 数组名称[下标]}


    其中,var是数组下标


    统计每个shell的使用个数

    # awk -F: '{shell[$NF]++}END{for(A in shell) {print A,shell[A]}}' /etc/passwd

    /bin/sync 1

    /bin/bash 3

    /sbin/nologin 31

    /sbin/halt 1

    /sbin/shutdown 1


    [root@localhost ~]# awk -F: '{shells[$7]++}END{for(sh in shells){print sh,shells[sh]}}' /etc/passwd | sort -k2


    {shell[$NF]}:以每行的最后的shell名称为下标,为数组元素shell[$NF]赋初始值1,如果遇到相同的shell,则该值递增1

    A:代表数组的下标

    print A:显示数组下标

    print shell[A]:显示此下标对应的数组值,也就是个数



    统计每个状态的tcp连接的个数

    # netstat -ant | sed '1,2d' | awk '{array[$NF]++}END{for(A in array) {print A,array[A]}}'

    LISTEN 13

    ESTABLISHED 1


    或者

    # netstat -ant | awk '/^tcp/{state[$NF]++}END{for(A in state) {print A,state[A]}}' 

    LISTEN 13

    ESTABLISHED 1



    统计某一天的访问量 


    [root@localhost ~]# grep "04/Nov/2016" /var/log/httpd/access_log | wc -l

    47721


    统计/var/log/httpd/access_log每个IP的访问次数(UV)


    [root@localhost ~]# grep "08/Mar/2017" /var/log/httpd/access_log | awk '{count[$1]++}END{for(ip in count) {print ip,count[ip]}}' | sort -n -k2 -r 


    统计PV 


    [root@localhost ~]# grep "08/Mar/2017" /var/log/httpd/access_log | awk '{count[$7]++}END{for(ip in count) {print ip,count[ip]}}' | sort -n -k2 -r




    格式化输出:

    # awk 'BEGIN{printf "%-20s%-20s\n","IP Address","Access Count"}{count[$1]++}END{for(ip in count) {printf "%-20s%-20s\n",ip,count[ip]}}' /var/log/httpd/access_log 

    IP Address          Access Count        

    10.1.1.100          53     



    awk的内置函数


    int():返回整数

    [root@localhost ~]# awk 'BEGIN{print int(12.9)}'

    12


    index():返回字符所在字符串中的位置

    [root@localhost ~]# awk 'BEGIN{print index("abcd","b")}'

    2


    split(string,array [,filedsep [,seps]])

    将string表示的字符串以fileldsep为分隔符进行分割,并将分隔后的结果保存至数据array中;数组下标从1开始


    [root@shell ~]# awk 'BEGIN{str="This is a test"; split(str,testarray,"is");print testarray[1]}' 

    Th



    length(string)

    返回string字符串的字符个数



    [root@localhost ~]# awk 'BEGIN{str="hello world"; print length(str)}'

    11


    [root@localhost ~]# awk -F: '{if(length($1)==4){count++;print $1}}END{print "用户个数:",count}' /etc/passwd



    substr(string,start [,length])

    取string字符串中的子串,从start开始,取length个;start从1开始计数


    [root@localhost ~]# awk 'BEGIN{str="this is test"; print substr(str,2,5)}'

    his i


    match函数, 

    检测str中是否含有"is" 如果有,则返回"is"第一次出现的位置,如果没有则返回0

    [root@localhost ~]# awk 'BEGIN{str="This is a test"; print match(str,"is")}'

    3


    tolower(string)

    将string中的所有字母转为小写


    [root@localhost ~]# awk 'BEGIN{print tolower("Kello")}'

    kello


    toupper(string)

    将string中所有字母转换为大写


    [root@localhost ~]# awk 'BEGIN{print toupper("hello")}'

    HELLO

    awk 'BEGIN{print tolower("Kello")}'

    kello


    toupper(string)

    将string中所有字母转换为大写


    [root@localhost ~]# awk 'BEGIN{print toupper("hello")}'

    HELLO










    本文转自 北冥有大鱼  51CTO博客,原文链接:http://blog.51cto.com/lyw168/1957359,如需转载请自行联系原作者
    展开全文
  • ####################test命令####################测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值格式1:test 条件表达式格式2:[ 条件表达式 ]·文件测试[ 操作符 文件或目录 ]-d...

    ####################test命令####################
    测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
    格式1:test 条件表达式
    格式2:[ 条件表达式 ]
    ·
    文件测试
    [ 操作符 文件或目录 ]
    -d:测试是否为目录(Directory)
    -e:测试目录或文件是否存在(Exist)
    -f:测试是否为文件(File)
    -r:测试当前用户是否有权限读取(Read)
    -w:测试当前用户是否有权限写入(Write)
    -x:测试当前用户是否有权限执行(eXcute)
    ·
    [root@localhost ~]# [ -d /media/cdrom ]
    [root@localhost ~]# echo $?
    0
    [root@localhost ~]# [ -d /media/cdrom/Server ]
    [root@localhost ~]# echo $?
    1
    [root@localhost ~]# [ -d /media/cdrom ] && echo "YES"
    YES
    ·
    ####################整数值比较####################
    [ 整数1 操作符 整数2 ]
    常用的测试操作符
    -eq:等于(Equal)
    -ne:不等于(Not Equal)
    -gt:大于(Greater Than)
    -lt:小于(Lesser Than)
    -le:小于或等于(Lesser or Equal)
    -ge:大于或等于(Greater or Equal)
    ·
    Unum=who | wc -l ###查看当前以登录用户数
    [ $Unum -gt 2 ] && echo "Too many." ###如果大于2就显示Too many.小于或等于则不提示
    Too many.
    ·
    FreeCC=$( free -m | grep "Mem: " | awk '{print $6}' ) ###查看物理内存(Mem)当低于1024MB时输出具体值
    [ $FreeCC -lt 1024 ] && echo ${FreeCC}MB
    ·
    ####################字符串比较####################
    格式
    [ 字符串1 = 字符串2 ]
    [ 字符串1 != 字符串2 ]
    [ -z 字符串 ]
    常用的测试操作符
    =:字符串内容相同
    !=:字符串内容不同,! 号表示相反的意思
    -z:字符串内容为空
    ·
    echo $LANG
    [ $LANG != "en.US" ] && echo "Not en.us"
    ·
    read -p "是否覆盖现有文件(yes/no)?" ACK
    是否覆盖现有文件(yes/no)?yes
    [ $ACK = "yes" ] && echo "覆盖"
    覆盖
    ·
    read -p "是否覆盖现有文件(yes/no)?" ACK
    是否覆盖现有文件(yes/no)?no
    [ $ACK = "no" ] && echo "不覆盖"
    不覆盖
    ·
    ####################逻辑测试####################
    格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
    格式2:命令1 操作符 命令2 ...
    常用的测试操作符
    -a或&&:逻辑与,“而且”的意思
    -o或||:逻辑或,“或者”的意思
    !:逻辑否,相反的
    ·
    uname -r
    Mnum=$(uname -r | awk -F. '{print $1}')
    Snum=$(uname -r | awk -F. '{print $2}')
    [ $Mnum -ge 3 ] && [ $Snum -gt 4 ] && echo "符合要求" ###前面两个都成立,则输出
    ·
    ####################if语句的结构#################
    ·
    1、单分支结构
    if 条件测试
    then
    命令判断
    fi
    ·
    判断挂载点目录,若不存在则自动创建
    [root@localhost ~]# cat chkmountdir.sh
    #!/bin/bash
    MOUNT_DIR="/media/cdrom/"
    if [ ! -d $MOUNT_DIR ]
    then
    mkdir -p $MOUNT_DIR
    fi
    ·
    2、双分支结构
    if 条件测试
    then
    命令序列1
    else
    命令序列2
    fi
    ·
    判断目标主机是否存活,显示检测结果
    [root@localhost ~]# cat pinghost.sh
    #!/bin/bash
    ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
    if [ $? -eq 0 ]
    then
    echo "Host $1 is up."
    else
    echo "Host $1 is down."
    fi
    ·
    ·
    3、多分支结构
    if 条件测试操作1
    then
    命令序列1
    elif 条件测试操作2
    then
    命令序列2
    else
    命令序列3
    fi
    ·
    判断分数范围,分出优秀、合格、不合格三档
    [root@localhost ~]# vi gradediv.sh
    #!/bin/bash
    read -p "请输入您的分数(0-100):" GRADE
    if [ $GRADE -gt 100 ]
    then
    echo "$GRADE 分,大于100分了,输入有问题"
    elif [ $GRADE -ge 85 ] && [ $GRADE -le 100 ]
    then
    echo "$GRADE 分,优秀!"
    elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ]
    then
    echo "$GRADE 分,合格!"
    else
    echo "$GRADE 分,不合格!"
    fi
    ·
    [root@localhost opt]#chmode +x gradediv.sh
    [root@localhost opt]# ./gradediv.sh
    请输入您的分数(0-100):101
    101 分,大于100分了,输入有问题
    [root@localhost opt]# ./gradediv.sh
    请输入您的分数(0-100):88
    88 分,优秀!
    [root@localhost opt]# ./gradediv.sh
    请输入您的分数(0-100):0
    0 分,不合格!

    转载于:https://blog.51cto.com/13348945/2175538

    展开全文
  • 文本三剑客之awk

    2020-01-29 20:10:36
    主要功能是从文本文件中抽取符合条件的信息并以特定格式显示出来的特殊工具。 nawk:new awk gawk:在一定程度上兼容awk和nawk,但又具备awk和nawk时所不具有的功能。 基本用法: awk 【opti...
  • 方式二:特定条件: 大于条件值;小于条件值;等于条件值;文本 条件值1;条件值2;同时不满足条件值1,2;文本 各个参数的涵义: “G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。 ...
  • Excel自定义格式参数

    2019-03-29 19:50:00
    文本格式 两个代码部分,则第一部分用于正数和零,第二部分用于负数 一个代码部分,则该部分将用于所有数字 要跳过某一代码部分,然后在其后面包含一个代码部分,则必须为要跳过的部分包含结束分号。 ...
  • 最近在使用MFC开发依款小程序,程序需要【根据一系列的条件来输出具有不同字体格式文本】,比如:蓝色、红色、楷体等。 在网上搜索了很多方法,均没法实现。 经过自己的仔细琢磨,终于找到了解决办法。 ...
  • Linux文本处理工具grep、sed、awk用法详解 文章目录Linux文本处理工具grep、sed、awk用法详解1、grep1)grep简介2)grep命令格式3)grep命令字符数量匹配规则2、...我们可以通过grep命令指定特定搜索条件来搜索文件及
  • 聊天机器人通常提供基于文本的用户界面,允许用户键入命令并接收文本以及文本到语音的响应。 聊天机器人的功能仅适用于现有命令。 聊天机器人通常会记住以前的命令以提供功能 我将学到什么? 使用Python框架Flask...
  • grep:文本过滤器 能够根据指定的模式去查找匹配到...从文本文件当中抽取符合条件的信息,并以特定格式格式化以后)比较美观的显示出来。 1.awk的基本用法 awk [options] 'script' file1,file2, ... awk [opti...
  • grep的全称是global regular expression print,是linux中最强大的文本搜索命令之一,常用于搜索文本文件中是否含有某些特定模式的字符串。该命令以行为单位读取文本并使用正则表达式进行匹配,匹配成功后打印出该行...
  • /在网上搜了很久,网上很多帖子显示的都是出现特定文本,...选中需要设置得区域,在菜单栏中依次选中 “开始”-“条件格式”-“新建规则”-“使用公式确定要设置格式得单元格”-输入公式:=if(find(“江苏”,$A1),...
  • TXT文本章节切割器2.10

    2009-09-09 10:50:43
    一个把文本小说按照自定义条件切割成章节的软件, 没有多么复杂的设置,基本上都简单易懂:  ·源文件:把下载的全本小说文件拖拽到文本框里(或 单击右边的“…”按钮浏览打开),也可以拖拽到列表框里, 而且会...
  • bash的算术运算和条件测试语句 1.wc: 2.cut命令: cut - 在文件的每一行中提取片断注意:能够被cut命令修剪的文件或数据内容,一般是具有某种特定格式会或结构文本文件或数据内容; 格式:cut [OPTION]... [FILE]......
  • 结合条件随机场的特征函数,将文本切分成文本行、块或单个的词等恰当的层次,再采用L-BFGS算法学习模型参数并进行特定文本域的抽取。实验结果表明,该方法的抽取性能优于基于词或块的条件随机场模型的信息抽取方法。
  • 确保已在计算机上安装以下所有必备条件。 根据您的操作系统,在本地计算机上设置一个项目文件夹,其中包含Mac或Windows文件夹中的所有脚本。 项目文件夹和MSS_task脚本都应包含您的任务名称。 例如,“如果您的任务...
  • 通过find命令 在特定目录下(包含它的后代目录) 搜索 符合条件的文件 1.2 实现 : 在指定目录中 根据名称 搜索 命令格式 序号 命令格式 作用 01 find [路径] -name ‘*.txt’ 查找指定路径下扩展名是 ....
  • 城市名称用于获取该特定城市的数据。 已建 Java脚本 HTML 5 尾风CSS 现场演示 入门 要启动并运行本地副本,请遵循以下简单的示例步骤。 先决条件 浏览器 文本编辑器 设置 步骤1在终端中,运行以下命令。 git ...
  • 6.8 格式化输出 52 6.9 改变字段分隔符 54 6.10 元字符 54 6.11 调用gawk程序 55 6.12 BEGIN和END 55 6.13 变量 56 6.14 内置变量 56 6.15 控制结构 57 6.15.1 if 表达式 57 6.15.2 while 循环 57 6.15.3 for 循环 ...
  • 方式二:特定条件(最多只有三个条件) 大于条件值;小于条件值;等于条件值;文本 方式三:特定条件 条件值1;条件值2;同时不满足条件值1,2;文本 这三种形式,但可以统一为一种形式,满足条件1;满足条件2;...
  • 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 反引号 147 15.5 反斜线 148 15.6 小结 149 第四部分 基础shell编程...
  • 后验概率 compute_a_posteriori实现以下任务: 确定... 输出:该程序创建一个名为“ result.txt”的文本文件,其格式如下所示。 ??? 用于程序将打印取决于其命令行参数的值的地方。 观察顺序Q:??? Q的长度:??? 经
  • Linux shell awk中print及变量使用

    千次阅读 2019-04-14 20:59:55
    Linux处理文本工具 grep: 过滤文本内容 sed: 编辑文本内容 ...报告生成器,以特定条件查找文本内容,在以特定格式显示 awk命令的格式: # awk [option] 'script' file1 file2... # awk [option]...
  • 利用excel进行数据分析;目录;如何成为excel高手;Excel的发展历史及内容;Excel的发展历史及内容;Excel使用者层级;Excel使用者水平;...条件格式;突出显示单元格规则;标示一组单元格数值的特定范围;规则设
  • 作用: 按特定条件过滤文件,以特定格式输出文本 工作流程: 默认按照空白字符分割文本内容,内部有$1, $2变量用于标识分割的第一部分、第 二部分; 其中$0用于代表整行内容 支持通过-F选项指定分割符 逐行处理工具...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 545
精华内容 218
关键字:

条件格式特定文本