dfkt.net
当前位置:首页 >> SHELL脚本中“grEp 'joB ststus' | Awk %F "... >>

SHELL脚本中“grEp 'joB ststus' | Awk %F "...

grep是处理行的,awk是处理列的.先过滤出包含'job status'的行再将输出结果以“=”为分隔符,打印出第二列将上一步的输出结果以空格为分隔符,打印出第一列.

ls|xargs grep -E "^rec|^orec" | awk -F "|" '{if($68==0)print $1}'|awk -F: '{print $1}'|sort|uniq

pwd是输出当前目录的意思;| 用管道传输结果给后面的命令awk-F'/mnt|/hgnf|/lib' 用 '/mnt|/hgnf|/lib' 对结果进行分割,-F后面应该有空格'{print $$1}' 分割后输出第一项你这个输出结果和下面相同pwd | awk '{print $1}' 或者 pwd

grep默认不支持正则表达式,egrep默认支持正则表达式,egrep 等于 grep -E 命令.

首先你变量赋值后和后边命令连接时应该用分号; 而不是,号其次,你的awk也写错了.value=`grep "No" config.ini | awk -F":" '{print $2}'`;echo $value不知道你-F后边是想拿:做分隔符,还是想拿[:]来做分隔符.我姑且认为你想拿:做分隔符

没什么冲突呀.awk使用单引号,shell是不解释$1 $2 的.

1、例如命令 echo 192.168.1.1|awk -F. '{print $1}' echo 192%168%1%1|awk -F\% '{print $1}' awk 参数-F是指定分割符,然后取第一列,这里用.做分割.\.是用转义字符,防止特殊字符有特殊含义2、-F和参数[之间不需要空格 例如 echo 192[168[1[1|awk -F\[ '{print $1}' 或者 echo 192[168[1[1|awk -F"[" '{print $1}'

text1.txt文件如下#执行代码grep -A 1 "\[PARM_" text1.txt#得到匹配行和他下面一行#执行代码grep -A 1 "\[PARM_" text1.txt |awk -F ":" '$1~/PATH/{print $2}'#得到匹配行下面一行的路径

awk默认是以行为单位处理文本的,对1.txt中的每一行都执行后面 "{ }" 中的语句.awk中的两个术语:记录(默认就是文本的每一行)字段 (默认就是每个记录中由空格或TAB分隔的字符串)$0就表示一个记录,$1表示记录中的第一个字段.一般 print $0 就是打印整行内容($0前面不需要反斜杠),print $1表示只打印每行第一个字段.

话说我在redhat下执行未报错,结果如下:[root@HZHG-STD-WEB-P3 ~]# sh testMon Nov 25 08:38:51 CST 2013a:11213141Mon Nov 25 08:38:51 CST 2013 不过我把开头释义代码修改成 #!/bin/bash了,你那个开头释义我从没用过:#!/bin/bashdateawk -F"|" 'BEGIN{a="a.unl"print "a:" while(getline 评论0 0 0

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.dfkt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com