Awk 获取Ascii码?

Awk 获取Ascii码?,awk,Awk,为了检索文件第13列的所有承租人的ascii代码,我编写了以下脚本 awk -v ch="'" '{ for (i=1;i<=length(substr($13,6,length($13)));i++) {cmd = printf \"%d\\n\" \"" ch substr(substr($13,6,length($13)),i,1) "\"" cmd | getline output close(cmd) ; Number= Number " " output } print N

为了检索文件第13列的所有承租人的ascii代码,我编写了以下脚本

awk -v ch="'" '{
for (i=1;i<=length(substr($13,6,length($13)));i++)
{cmd = printf \"%d\\n\" \"" ch substr(substr($13,6,length($13)),i,1) "\"" cmd | getline output close(cmd) ;
Number= Number " " output 
}
 print Number ; Number="" 
}' ~/a.test
awk-v ch=“””{
对于(i=1;i试试这个:

awk '{
    str = substr($13, 6)
    for (i=1; i<=length(str); i++) {
      cmd = "printf %d \42\47" substr(str, i, 1) "\42"    
      cmd | getline output
      close(cmd)
      Number= Number " " output 
    }
   print Number 
   Number="" 
  }' ~/a.test

这可能适合您:

awk -vSQ="'" -vDQ='"' '{args=space="";n=split($13,a,"");for(i=1;i<=n;i++){args=args space DQ SQ a[i] DQ;format=format space "%d";space=" "};format=DQ format "\\n" DQ;system("printf " format " " args)}'
awk-vSQ=“””-vDQ=”””{args=space=“”;n=split($13,a,”);for(i=1;iiiawk(和gawk)在其内置的
printf
中没有这个(请参见扩展描述的末尾)。
awk -vSQ="'" -vDQ='"' '{args=space="";n=split($13,a,"");for(i=1;i<=n;i++){args=args space DQ SQ a[i] DQ;format=format space "%d";space=" "};format=DQ format "\\n" DQ;system("printf " format " " args)}'