在awk脚本中使用printf $n > FILENAME".txt" 出现 no enough arguments for string 所以换成 {printf ”%s“, $n} 但是 怎么输出到文件呢? 谢谢
by xiongweixie - Shell - 2013-05-11 01:10:03 阅读(1153) 回复(2)
昨天经过大侠 jason680 的帮助,解决了数据的排列格式问题,语句如下:
awk -F'[]=; &[]+' -v hn="$HOSTNAME" 'BEGIN{t=47;a["action"]=2;a["AppId"]=3;a["appID"]=4;a["DN"]=30}{delete b;b[1]=$2" "$3;for(n=1;n++
请教:RT uname -a AIX orac2 3 5 00C5EF3E4C00 cat test.tmp rwr 1 dm dmuser 648 May 28 10:52 bak.sh rw 1 dm dmuser 173 Jun 20 14:48 cal_size.sh rwr 1 dm dmuser 6704 Jun 24 15:25 create_index.sh rwr 1 dm dmuser 86 Feb 21 16:17 dmcron rwr 1 dm dmuser 9462 Feb 19 13:46 dmintf.sh rwr 1 dm dmuser 943 May ...
echo "ID_NUMBER LIKE '''1%'' OR ID_NUMBER LIKE '''3%''"|awk '{printf $0}' 就这段脚本报错 awk: There are not enough parameters in printf statement ID_NUMBER LIKE '''1%'' OR ID_NUMBER LIKE '''3%''. The input line number is 1. The source line number is 1. printf改成print就不报错了。 而且在我们开发环境AIX报错,在我本地的fedora-Linux就不报错 是不是百分号的问题,应该怎么处理,新手,请大神指教
本帖最后由 wangjun0220 于 2012-12-06 17:43 编辑 童鞋们 我在运行下面的语句的时候为什么会把原来的数值大小给改变呢? 本应该输出的是00014920,为什么会输出是00014919呢? echo 149.2 |awk -F"|" '{printf("%08d",$1*100)}' 同学们帮帮忙,小弟不胜感激
各位SED和awk的达人: 求助大家一下,小弟由于工作需要现采用awk做一些简单的文本编辑和处理工作,现在遇到点问题,实在是不知道怎么解决 具体是我们需要用awk来处理一些坐标系文件,对这些坐标系做一些微调,但是如果直接用print,比如:print $1+0.00001,$2+0.00001那awk的输出文件 就只能保留小数点后三位,于是我就采用了printf,类似于这样的语句:printf (“%f\n,%f\n",$1+0.000010, $1+0.000010),这个方法管用是管用,可是...
请帮看一下,下面的代码,出错: awk 'BEGIN {FS= ","} $14 ~ /'"$6587"$'/ {if ($7>0) {printf "%-20s%11s\n", $14,$7}}' 200907.txt 去掉红色部分就能执行成功。 awk 'BEGIN {FS= ","} {if ($7>0) {printf "%-20s%11s\n", $14,$7}}' 200907.txt
请教 $ echo 10 20|awk '{printf "%s% %s%\n",$1,$2}' 10%s% $ echo 10 20|awk '{printf "%s%,%s%\n",$1,$2}' 10%,20% 怎么能得到输出是 10% 20% 呢?
LogonReport.txt 的内容: 02/02/2009 10:19:10 #aa###127.0.0.1#Invalid User ID 02/02/2009 10:21:07 #super#super#IT#127.0.0.1#Invalid Password 02/02/2009 10:21:13 #super#super#IT#127.0.0.1#Invalid Password Shell的内容: awk -F# 'BEGIN { print"----------------------------------------------------------------------------------------------------------------------------------" print"User ID\t\tUs...
童鞋们 我在运行下面的语句的时候为什么会把原来的文件给改变呢? echo 149.2 |awk -F"|" '{printf("%08d",$1*100)}' 同学们帮帮忙,小弟不胜感激
[code] $ awk 'BEGIN{printf "%c\n",0x44}' D $ echo "41 42 43 44 45 46 47 48"|awk '{for(i=1;i<=NF;i++){c="0x"$i;printf "%c\n",c}}' 0 0 0 0 0 0 0 0 本菜研究了半天,找不出原因,求万能的ChinaUnix赏个答案... [/code]