Перемешать два параллельных текстовых файла

Таким образом, это походит, когда Вы сделали замену более старого диска, Вы в основном просто использовали dd для копирования целого старого диска в новый. Таким образом, необходимо смочь создать другой раздел fdisk, который был бы da0s2, затем поместил бы другой раздел BSD там, который будет da0s2a. Я использовал бы геометрию, чтобы сделать это, а не sysinstall или sade. Если можно показать вывод gpart list, Я могу, вероятно, обойти Вас посредством создания нового раздела. Конечно, обязательно имейте хорошие резервные копии и т.д.

Конечно, более хорошая вещь сделать состояла бы в том, чтобы обновить до 9,1, сделать разделы больше, затем использовать growfs для создания существующего FS больше, так, чтобы новое дисковое пространство было частью того же FS (Обычно, мне нравится разделять вещи немного, при наличии отдельного / var и/usr (по крайней мере), но я знаю, большинство людей не делает в эти дни, и в том диске размера это может стать чем-то вроде тяжелой работы для управления, где вещи хранятся.)

(О, и я предполагаю, что лучшая вещь состояла бы в том, чтобы переключиться на ZFS, но я воображаю, имела ли система диск на 20 ГБ в ней, это - вероятно, 32 бита и не много RAM, таким образом, не идеальной для ZFS...),

Править: Полностью пропущенный часть о зеркале. Да, повреждение зеркала могло быть одним путем к нему. Это - аппаратные средства зеркало RAID или программное обеспечение?

8
05.08.2015, 20:12
1 ответ

Я не знаю, есть ли более элегантный метод, но он работает для меня:

mkfifo onerandom tworandom threerandom
tee onerandom tworandom threerandom < /dev/urandom > /dev/null &
shuf --random-source=onerandom onefile > onefile.shuf &
shuf --random-source=tworandom twofile > twofile.shuf &
shuf --random-source=threerandom threefile > threefile.shuf &
wait

Результат:

$ head -n 3 *.shuf
==> onefile.shuf <==
24532 one
47259 one
58678 one

==> threefile.shuf <==
24532 three
47259 three
58678 three

==> twofile.shuf <==
24532 two
47259 two
58678 two

Но файлы должны иметь точный такое же количество строк.


Документация GNU Coreutils также предоставляет хорошее решение для повторяющейся случайности с использованием openssl в качестве генератора случайных чисел с засеянным кодом:

https://www.gnu.org/software/coreutils/manual/html_node/ Random-sources.html # Random-sources

 get_seeded_random () 
 {
seed = "$ 1" 
openssl enc -aes-256-ctr -pass pass: "$ seed "-nosalt \ 
  / dev / null 
} 
 
shuf -i1-100 --random-source = <( get_seeded_random 42) 
 

Тем не менее, подумайте об использовании лучшего начального числа, чем "42", если вы не хотите, чтобы кто-то еще мог воспроизвести "ваш" случайный результат.

9
27.01.2020, 20:12

Теги

Похожие вопросы