分页: 1 / 1

AWK参数过长,怎么处理

发表于 : 2011-09-20 10:12
zenglei286
#!bin/bash

IFS_old=$IFS
IFS=$'\n'
arr1=$(cat 1.txt)
t="$arr1"
awk -v t="$arr1" 'BEGIN{ split(t,ts);i=0;}{ print ts " " $0; i=i+1;}END{}' pid1.txt >a.txt

1.txt中有数万行的数据,,直接这么运行就显示参数过长的错误 :em20 ,请问有什么方法吗,能扩大参数的缓存块吗,或者是其他的方法,

Re: AWK参数过长,怎么处理

发表于 : 2011-09-20 10:22
Methuselar
好妖的用法...

用了awk就别折腾shell的IFS. 文件大就别折腾shell

两个文件而已,全部交给awk处理

Re: AWK参数过长,怎么处理

发表于 : 2011-09-20 10:32
zenglei286
Methuselar 写了:好妖的用法...

用了awk就别折腾shell的IFS. 文件大就别折腾shell

两个文件而已,全部交给awk处理
能说下怎么处理吗,

Re: AWK参数过长,怎么处理

发表于 : 2011-09-20 11:20
zenglei286
Methuselar 写了:好妖的用法...

用了awk就别折腾shell的IFS. 文件大就别折腾shell

两个文件而已,全部交给awk处理

谢谢提示,我已经根据你的意思做出来了,

#!bin/bash

IFS_old=$IFS
IFS=$'\n'
awk 'BEGIN{}{if(NR==FNR){ts=$0;i=i+1;} if(NR>FNR) { print ts[t] " " $0; t=t+1; }}END{}' 1.txt pid1.txt >a.txt