在Carriage返回上进行拆分并在ksh中创建一个数组

时间:2011-09-14 04:49:08

标签: shell unix scripting ksh

我想基于Carriage返回进行拆分,然后创建一个数组。

process.txt

siebmtshm 30933160 /app/cis/u01/sia80/siebsrvr/temp/SIEBEL_30933160   
siebmtshm 31064248 /app/cis/u01/sia80/siebsrvr/temp/SIEBEL_28508402

数组的输出应为:

Array[0] = siebmtshm 30933160 /app/cis/u01/sia80/siebsrvr/temp/SIEBEL_30933160   
Array[1] = siebmtshm 31064248 /app/cis/u01/sia80/siebsrvr/temp/SIEBEL_28508402

1 个答案:

答案 0 :(得分:0)

这非常简单,因为你的process.txt文件在技术上已经拆分了。

你只需要逐行阅读文件,如下所示:

let tempInt=0
while read file
do
  Array[$tempInt]=$file
  let tempInt=$tempInt+1
done<process.txt

在那里添加了一个计数器,用于跟踪数组中的索引。我已经在生产工作中做了很多次,但没有失败。请注意,确保您使用BASH作为翻译。您不希望陷入旧KSH的4096字节限制中。