2014-11-17 3 views
0

У меня есть 4,930,728 записей в текстовом файле файла в unix. Этот файл используется для загрузки изображений в содержимое веб-центра Oracle с использованием batchloader. <<EOD>> указывают конец записи согласно приведенному ниже образцу.Выбор диапазона записей из файла в Unix

У меня есть два вопроса

  1. После обработки 4,300,846 из 4,930,728 записи (ей), то batchloader не может по каким-либо resoan. Теперь я хочу создать новый файл с записями от 4 300 846 до 4 930 728. Как мне добиться этого?

  2. Я хочу разбить этот текстовый файл, содержащий 4930728 записей, на несколько файлов, каждый из которых содержит (1 000 000) записей, например. файл 1 содержит записи от 0 до 10 000 000. Второй файл содержит записи от 1000 001 до 20 000 000 и т. Д. Как мне это достичь?

Имя файла: load_images.txt

Action = insert 

DirectReleaseNewCheckinDoc=1 

dUser=Biometric 

dDocTitle=333_33336145454_RT.wsq 

dDocType=Document 

dDocAuthor=Biometric 

dSecurityGroup=Biometric 

dDocAccount=Biometric 

xCUSTOMER_MSISDN=33333 

xPIN_REF=64343439 

doFileCopy=1 

fParentGUID=2CBC11DF728D39AEF91734C58AE5E4A5 

fApplication=framework 

primaryFile=647229_234343145454_RT.wsq 

primaryFile:path=/ecmmigration_new/3339_2347333145454_RT.wsq 

xComments=Biometric Migration from table OWCWEWW_MIG_3007 

<<EOD>> 

ответ

0

Ответ # 1:

head -n 4930728 myfile.txt | tail -n $(echo "4930728 - 4300846" | bc) 

Ответ # 2 - для разделения файлов на 1000 0000 строк:

split -l 10000000 myfile.txt ### It will create file like xaa,xab and so on 
+0

Ответ # 2 работает, однако ответ # 1 не работает..head -n 4930728/s amba/migration/fi900007_load/LOAD.txt | tail -n $ (echo "4930728 - 4300846" | bc) использование: tail [+/- [n] [lbc] [f]] [файл] tail [+/- [n] [l] [r | f]] [file] – user3537389

+0

В идеале он работает для меня, поэтому он должен работать для вас (возможно, здесь есть версии для оболочки). попробуйте head -n 4930728 /samba/migration/fi900007_load/LOAD.txt | хвост -n 629882 и посмотреть, работает ли это? – SMA

+0

Я пробовал .. но ничего не пишет для вывода файла. Я использую solaris sparc 10. head -n 4930728 /samba/migration/fi900007_load/LOAD.txt | tail -629882> resubmit.txt – user3537389

Смежные вопросы