awk -F:'$3

sharem2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
王小丫丫 共回答了14个问题 | 采纳率100%
我猜你这句话本意是想查到user_ID大于5的用户个数吧!可是这样是做不到的,这样写统计的永远是总用户数.
首先:next的用法:强迫awk立刻停止处理当前的记录,而开始读取和处理下一条记录.更通俗一点讲:比如,你正在排队办理入学手续,人家看你还没交费,就next,下一个过来办,你先到财务交费之后再过来…….而NR是统计AWK读入的记录数,awk每读取一条记录,首先比较一下user_id是否小于5,如果小于5的话,就跳过读取下一条记录,因此虽然跳过了,但是已经被awk读入了,只是执行了next以后就不执行next之后的处理代码了!
不知道我说明白了没有?你如果真是想实现我开始说的那个要求的话,可以给个变量进行计数,不要用NR!
1年前

相关推荐

ps -ef |grep cusip_full_is | grep -v grep | wc -l | awk '{ p
ps -ef |grep cusip_full_is | grep -v grep | wc -l | awk '{ print $1; }'
我知道 ps -ef|grep cusip_full_is 就是查找cusip_full_is的进程,后面的就不懂了,grep -v grep是反选的意思,加起来就更不明白了,
tt好人1年前1
lilongsheng2006 共回答了25个问题 | 采纳率92%
ps -ef | 全格式显示当前所有进程
grep cusip_full_is 滤出''cusip_full_is''的进程
grep -v grep 把''grep''这个进程忽略掉
wc -l 看看有多少个进程
awk '{ print $1; }' 输出第一列
sed -e 's/ //g' | sed -e 's/^[^\w]//g' | awk -F ':' '{print
sed -e 's/ //g' | sed -e 's/^[^w]//g' | awk -F ':' '{print
ADMINSERVERNAME=AdminServer
USERNAME=adminserver
PASSWORD=adminserver
ADMINSERVERURL=196.190.175.115:9001
fail_time=0
get_state()
{
ADMINISERVERSTAT=`java weblogic.Admin -adminurl $ADMINSERVERURL -username $USERNAME -password $PASSWORD GETSTATE $ADMINSERVERNAME | sed -e 's/ //g' | sed -e 's/^[^w]//g' | awk -F ':' '{print $2}'`
}
test=`java weblogic.Admin -adminurl $ADMINSERVERURL -username $USERNAME -password $PASSWORD GETSTATE $ADMINSERVERNAME`
echo $test > /1.log
其中,怎么看为什么没有显示adminserver是否running?
打印出来之后,1.log中总是空的,没有内容,问题出在哪里呢?
wsd12281年前1
开心aa啦 共回答了22个问题 | 采纳率90.9%
你写了一个get_state函数
但是你在后面的语句中并没有调用这儿函数.
检查test所获得值是多少
java weblogic.Admin -adminurl $ADMINSERVERURL -username $USERNAME -password $PASSWORD GETSTATE $ADMINSERVERNAME`
ps -fu %s |grep \"%s\" |grep -v grep|awk '{if($(NF)== \"%s\"
ps -fu %s |grep "%s" |grep -v grep|awk '{if($(NF)== "%s") print
这段应该如何去理解.
灵醒1年前1
sasimi6688 共回答了20个问题 | 采纳率95%
因为我是在不知道你这个 %s 在这里的用意是什么,我暂且只能解释每句的意图.
ps -fu %s #ps显示进程-f和-u这两个参数不用我多说了,百度上一查就出来了.
grep "%s" #过滤出匹配 "%s" 这个内容
grep -v grep #过滤掉匹配"grep",因为你执行grep时会产生一个grep进程,所以把这个进程过滤掉
awk '{if($(NF)== "%s") print $0}' #如果末尾匹配"%s" 那么打印整行内容.
grep \"%s\" %s | awk '{print $5}' > %s\n
nan-wwj1年前1
jfqxll 共回答了24个问题 | 采纳率91.7%
·1、这应该是一个在宿主语言中(比如:c语言)待拼接成一个完整的linux/Unix命令串的字符串,待拼接完成后,再利用system("")调用这个命令;
以c语言为例,拼接如下:
sprintf(cmd,"grep "%s" %s | awk '{print $5}' > %sn",str_a,str_b,str_c);
这个命令的转换成linux直观的命令为:grep "字符串_1" 字符串_2 | awk '{print $5}' > 字符串_3
其中:
"字符串_1"为grep过滤的模式;
"字符串_2"为grep筛选的对象文件名;
"字符串_3"为筛选结果输出的文件名;
即,从文件名为"字符串_2"中筛选满足条件 "字符串_1" 的行,并按照空格作为行分隔符,然后提取第5列,写入(不重复)文件名为"字符串_3"的文件中.
·2、因此,这个 grep "%s" %s | awk '{print $5}' > %sn 命令串片段的作用为:
从文件名为"第二个%s"的文件中,筛选满足grep条件"第1个%s"的行,并将该行中以空格分隔的第5列写入文件名为"第3个%s"的文件中.(PS:">"的作用不用解释吧)
3、最后,希望下次楼主问的问题不要这么含蓄,乍一看还真不知道是啥.