Сделайте разбиение на возврат каретки и создайте массив в ksh - PullRequest
1 голос
/ 14 сентября 2011

Я хотел бы сделать разбиение на основе возврата каретки и впоследствии создать массив.

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 голосов
/ 02 февраля 2012

Это довольно просто, поскольку ваш файл process.txt уже технически разделен.

Вам просто нужно прочитать файл, строка за строкой, например:

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

Добавлен счетчик для отслеживания вашего индекса в массиве. Я делал это МНОГО раз на производственных работах без сбоев. Имейте в виду, просто убедитесь, что вы используете BASH в качестве переводчика. Вы не хотели бы застрять в ограничении в 4096 байт, которое имеет старый KSH.

...