The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Расщепление пр. файла в 2 на определенном месте основанного на Textpattern borgeh Shell программирование и сценарии 0 09-24-2007 08:02 PM
1 вставить файл в определенном месте файла 2 JCR Shell программирование и сценарии 1 02-01-2007 11:48 AM
Как изменить большого файла в Unix balireddy_77 Shell программирование и сценарии 3 12-14-2006 07:40 AM
Помощь для редактирования больших файлов jxh461 Shell программирование и сценарии 8 05-19-2003 05:38 PM
Как редактировать большие файлы, используя VI nazri UNIX для чайников Вопросы И Ответы 3 06-15-2001 10:18 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-29-2007
mvijayv mvijayv is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 16
Изменить один большой файл на месте

Люди,
У меня есть файл с 50 млн. записей, имеющих 2 колонки. Я должен делать ниже:
1. Генерация случайных чисел из фиксированной длины.
2. Заменить второй колонке случайно выбранной строки при случайных чисел.

Я пробовал использовать немного Perl для генерации случайных чисел и SED заменить ее вручную. Проблема я вижу в том, что она генерирует вывод с заменил запись с 50 млн. записей. Я бы скорее не выход для каждого ряда обновления. Я хотела бы получить после вывода всех обновлений сделали ....
Мне было интересно, если я могу отредактировать файл на месте с помощью SED ... Я пытаюсь найти в этом месте вариант .. но я имею Dont GNU Версия SED ...

Любые мысли ...?

Спасибо
V
Old 08-30-2007
Илан ilan is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 101
Вот первоначальный переход на требования:
>> 1. Генерация случайных чисел из фиксированной длины.

I \u003d 00000000
Эхо $ RANDOM $ I | светотеневую С 1-8

вышеуказанные служит для генерации случайных чисел для более чем 50 миллионов записей; опять не знаете, как часто повторяет ряд!!

не ясно, о втором требования. быть конкретными, пожалуйста ...

-Илан
Old 08-30-2007
mvijayv mvijayv is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 16
Привет Илан,
Спасибо за этот вопрос ... У меня первая часть понял, ... Я могу сгенерировать случайное число с помощью небольшого Perl Сценарий, который я скачал из чистого ... Но у меня есть проблема со второй частью ... Я попытаюсь описать это лучше.

У меня 50 миллионов записей в 2 колонки. Обе колонны присутствуют во всех отчетах.

Шаг 1: Создать случайная величина (это часть я понял, выше)
Шаг 2: Найдите случайной записи числе 50 млн.
Шаг 3: Заменить значения во второй колонке с стоимости, созданной в шаге 1.
Step4: Назад к Шаг 1, генерировать новое значение, ищите другой случайной записи, заменить его с этого значения, и так далее примерно в миллион раз.

Я хочу иметь возможность сделать это на месте, поскольку каждый раз я заменить запись AWK, она дает всего 50 миллионов с учетом этого изменения, как выход, и я перенаправить вывод в другой файл, переименовать его в оригинальный и начать вновь на следующей итерации.
Что мне нужно это способ для редактирования файлов в место в цикле определения случайной записи и изменения во второй колонке миллиона раз.


Высокий уровень требований:
Учитывая файл из 50 миллионов записей, я должен создать файл, который имеет 50 млн. записей, но 1 млн. записей, чьи второй колонке варьируется от первого файла. Может быть, есть более простой способ сделать это ... Но я сейчас тупик ....


Спасибо,
V
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2005
Место проведения: Бангалор
Сообщений: 219
Не могли бы Вы, пожалуйста, должность некоторые выборки данных из входных и выходных, чтобы мы могли быть более четко определены требования.
Old 09-03-2007
mvijayv mvijayv is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 16
12123 | 12345678
42142 | 23442253
52315 | 32250205
....
....
...
....
....
около 50 млн.

Теперь я хочу наугад выбирать записи и изменение стоимости второго столбца

Например, если я выберу вторую запись наугад. Я буду менять 2 колонки для случайной величины:

12123 | 12345678
42142 | 53988989
52315 | 32250205
....
....
...
....
....

же операции 1 миллиона раз каждый раз выбирать разные записи наугад.
Old 09-03-2007
fazliturk fazliturk is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2007
Сообщений: 45
Я пробовал следующий код в AIX, в KSH
Код давно, но не существует, хотя т.д.
Позвольте сказать, исходный файл origfile

Шаг 1.

SED S /"|"/" "/ г origfile> временный

/ ** Если у вас нету SED Вы должны изменить "|" с пустым с someting * /
и после этого ваш исходный файл выглядит так 12123 12345678 * /

grep-н "^ $" временный> origfile, RM временный

/ * После этого ваш исходный файл выглядит следующим образом;
1 12123 12345678
2 42142 53988989

Шаг 2.
/ ** производить 1 миллион случайных чисел и сэкономить на RandNumbersFile ** /

Шаг 3.
/ ** производить 1 миллион случайных чисел и сэкономить на RandRecordsFile ** /
Сорт-U RandRecordsFile> временный
М. В. временный RandRecordsFile

/ * Вы можете производить 1 млн. номеров, но если вы сортировать unically она может быть меньше 1 млн. человек. Вы должны быть уверены в том, что каждая строка в этом файле является уникальным, вышеуказанные организует эту команду * /

Пусть "NeededLine \u003d 1000000 -` WC-л RandRecordsFile | AWK '(печати $ 1)' `"

/ * Эта строка показывает, как много новых записей нужно после сортировки * /

борьбы \u003d 0
в то время как [$ борьбы-LT $ NeededLine]
делать
/ ** случайный RandomRecord (средства случайных чисел). Я хочу сказать вам необходимо добавить свой код здесь ** /
grep $ RandomRecord RandomRecordsFile> / Dev / нуль
если [$? NE-0]
тогда
Эхо $ RandomRecord>> RandomRecordsFile
Пусть "Counter \u003d $ борьбе +1"
FI
готово
Сорт-U RandomRecordsFile> временный
паста временный RandNumbersFile> RandomRecordsFile
RM временный

/ ** После этого ваш RandomRecordsFile выглядит так;
1 12345678
27 53988989
Первый стенд для записи числа, а второй rundom области (ориг второе поле) **

вступить-v1 origfile RandomRecordsFile> временный / ** непревзойденные линии ** /
вступить-O 1.1,1.2,2.2 origfile RandomRecordsFile>> временный / * соответствием линий * /
Сорт-U временный> origfile / * сортировать по Field1 * /
/ ** Если вам нужно добавить следующие строки
светотеневую f2, f3 origfile> временный
SED S / ""/"|"/ г временный> origfile ** /
RM временный

поэтому код;
/ ** производить 1 миллион случайных чисел и сэкономить на RandNumbersFile ** /
/ ** производить 1 миллион случайных чисел и сэкономить на RandRecordsFile ** /

CP yourfile origfile
SED S /"|"/" "/ г origfile> временный
grep-н "^ $" временный> origfile
Сорт-U RandRecordsFile> временный
М. В. временный RandRecordsFile
Пусть "NeededLine \u003d 1000000 -` WC-л RandRecordsFile | AWK '(печати $ 1)' `"
в то время как [$ борьбы-LT $ NeededLine]
делать
/ ** случайный RandomRecord (средства случайных чисел). Я хочу сказать вам необходимо добавить свой код здесь ** /
grep $ RandomRecord RandomRecordsFile> / Dev / нуль
если [$? NE-0]
тогда
Эхо $ RandomRecord>> RandomRecordsFile
Пусть "Counter \u003d $ борьбе +1"
FI
готово
Сорт-U RandomRecordsFile> временный
паста временный RandNumbersFile> RandomRecordsFile
вступить-v1 origfile RandomRecordsFile> временный
вступить-O 1.1,1.2,2.2 origfile RandomRecordsFile
Сорт-U временный> origfile
RM временный

Последний раз редактировалось fazliturk; на 09-03-2007 09:41 AM..
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 02:03 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0