+ -
当前位置:首页 → 问答吧 → 菜鸟提问:如何让普通用户可以执行这l两句话

菜鸟提问:如何让普通用户可以执行这l两句话

时间:2011-09-20

来源:互联网

#!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[i] " " $0; i=i+1;}END{}' pid1.txt >a.txt

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

作者: zenglei286   发布时间: 2011-09-20

好妖的用法...

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

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

作者: Methuselar   发布时间: 2011-09-20

Methuselar 写道:
好妖的用法...

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

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


能说下怎么处理吗,

作者: zenglei286   发布时间: 2011-09-20

Methuselar 写道:
好妖的用法...

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

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



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

#!bin/bash

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

作者: zenglei286   发布时间: 2011-09-20

热门下载

更多