cat etl.sh RQ=$1 MQ=0 echo $RQ|awk '{yue=substr($1,5,2);if(yue=="03"||yue=="06") "'$MQ'"=1}' 这个etl.sh脚本的作用是判断$1的第五位到第六位是03或者是09,然后将变量$MQ赋值为1,但是怎么都不行。
如代码: awk 'BEGIN{ flag=0 } { if( NR == 2 && flag == 0 ) { flag=1; num=NR; print } if( flag == 1 && NR == num+2 ) print }' file echo $num 希望能输出num=NR赋予num 的值。
比如: 代码如下 #!/bin/sh VARIABLE="" awk ' { VARIABLE=$1 } ' input.file 我试着用上面的方法给VARIABLE赋值,不过好像不行 请问应该用什么办法?
请教各位大侠: 小弟最近接触shell编程,如何将awk命令的输出结果赋值给shell script 中的变量?有谁知道的,请告知。谢谢!!!
echo $PRONUM --------结果是30 awk '{ for(i=1; i<=NR; i++) num[$i]++ } \ END{ for(i=1; i<=$PRONUM; i++) { \ printf "%d %d\n", i, num \ } \ }' \ TMP > RESULT END中的for里面的变量PRONUM为什么不起作用呢,换成数字30就起作用了。 不解。
userlist.conf文件内容如下: u112 1 Y user112 1 Y u189 1 Y user189 1 Y u114 1 N exp.sh文件有如下一段代码: DMP_PIECES=0 for user in `nawk '$3=="Y" { '$DMP_PIECES'=$2;print $1}' userlist.conf` do .......................... done 目的是在循环读取userlist.conf文件中每行记录的同时将第二列的数字赋予shell变量DMP_PIECES,以便...
#sed 1d /tmp/dif | sed 's/^.//g' Feb 17 08:57:30 HOST root: [ID 702911 local2.notice] 1 060217085600 idel:97 可以用awk给上面的输出赋值吗? 直接用管道. 使得得到类似的结果 echo $1 Feb echo $2 17 echo $3 08:57:30 . . . dengdeng.
awk '{printf("echo \"%s\" \"%s\" `ENVIRON["path"]/count_time.sh %s %s`\n",$1,$2,$3,$4)}' < $report awk '{printf("echo \"%s\" \"%s\" `"'$path'"/count_time.sh %s %s`\n",$1,$2,$3,$4)}' < $report awk -v kk=$path '{printf("echo \"%s\" \"%s\" `kk/count_time.sh %s %s`\n",$1,$2,$3,$4)}' < $report path是一个variable 但是上面3句均不能将path代入 还有其它方法吗?
请问如何在awk中查找变量.. 文件a.txt $cat a.txt 1 aaa 2 bbb 3 ccc shell文件为: $cat b.sh y=2 awk '$1~$y {print $2}' a.txt 如果应该输出bbb,可是这个$y该怎么在awk中设置啊