当前位置:  技术问答>linux和unix

Shell Script 发生 "arg list too long" 的问题,求救!

    来源: 互联网  发布时间:2016-05-28

    本文导语:  今日碰到一个问题, 当运行以下代码时, 出现"arg list too long"的报错提示。 应该是因为文件列表太长的缘故 当文件数在15000,甚至20000个的时候,运行一切都正常。 但是在29000个的时候就报这个错了。 求:有没有...

今日碰到一个问题,
当运行以下代码时,
出现"arg list too long"的报错提示。
应该是因为文件列表太长的缘故
当文件数在15000,甚至20000个的时候,运行一切都正常。
但是在29000个的时候就报这个错了。

求:有没有其他更好的变通写法?拜谢!

cd $MMOUT
ls -l RDW* |
cut -c55-91 |   # Cut the file name from the 'ls -l' record
sort |
cat > /tmp/POS_files_$MYRANDOM

报错信息如下:
/u03/oracle/batch/rms/oracle/proc/bin/batch_resa2rdw.ksh[71]: /usr/bin/ls: arg list too long
/u03/oracle/batch/rms/oracle/proc/bin/batch_resa2rdw.ksh[81]: /usr/bin/tar:  arg list too long

详细源文件请见如下:
------------------------------

DXBRMSDB/orarms # cat batch_resa2rdw.ksh

#!/usr/bin/ksh
 
# Set the Retek Environment
#
environment=rms
export environment
 
. $AW_HOME/RETEK/exec/RETEK_ENVAR
 
# This script will do the following:
#
# Detect all the RESA RDW file to be processed and request the
# resa2rdw module to process them. It will then wait for them to leave the
# backlog queue of AppWorx (ie be processed)
#
 
#
# Clear the RDW concatonated files before we start
#
 
rm -f $MMOUT/RDW+_COMPLETE.DAT
 
#
# Clear all the RDW files from the out directory, this process will generate
# all the files for today
#
 
#rm -f $MMOUT/RDW*
 
MYRANDOM=$RANDOM         # A random number to insure file names are unique.
export MYRANDOM
 
#
# The following command issues an ls command and gets a file that contains
# each file that begins with RDW within the $MMOUT directory
#
  cd $MMOUT
  ls -l RDW* |
  cut -c55-91 |        # Cut the file name from the 'ls -l' record
  sort |
  cat > /tmp/POS_files_$MYRANDOM
 
#
# For each file found above then request the RESA2RDW module to execute within
# AppWorx
#
 
while read pos_file_name; do    # Read the file names which will be uploaded
 
  echo $MMOUT/$pos_file_name
# awrun -m RESA2RDW -u sqloper -z s0pass -arg $MMOUT/$pos_file_name $DWIDATA/$pos_file_name rms a >> /tmp/tb.out
  /usr/bin/perl $MMHOME/oracle/lib/src/resa2rdw $MMOUT/$pos_file_name $DWIDATA/$pos_file_name
 
done 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • shell script能为c程序提供输入数据吗?
  • shell script 中切換使用者
  • help me to write a shell script
  • 请教:如何利用shell script 去 kill 某个进程
  • Unix shell script变数是否要声明?
  • 如何运行扩展名是BIN的shell script?
  • 请问: 怎么把jsp中用户的输入做为参数传递给shell script?!!!!!!!!
  • 急呀!要写shell script
  • shell script下如何使用转义符?
  • shell script 能讀文字檔嗎?
  • 一个shell script的问题
  • Shell script正则表达式提取匹配子串
  • shell script如何获取返回的参数
  • 菜鸟关于关于编写shell script的问题
  • 在linux下有清屏的命令吗?如果没有,怎么用shell script或者c实现?
  • 急在线等!我想在win2000下模拟unix的环境来试 POSIX shell script
  • awk在shell script中
  • Linux shell script:$(id -u) 是什么意思呀?
  • shell script的問題
  • shell script 抓字串問題
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径 iis7站长之家
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3