Забавные способы случайного выбора элементов из текстового файла в Linux

В мире Linux всегда существует несколько способов выполнить задачу. Когда дело доходит до случайного выбора элементов из текстового файла, вам будет приятно узнать, что в вашем распоряжении есть несколько методов. В этой статье блога мы рассмотрим несколько забавных и простых подходов к достижению этой цели. Итак, приступим!

Метод 1: использование команды shuf
Пример кода:

shuf -n <number_of_elements> <file_name>

Объяснение:
Команда shuf— это удобный инструмент, который случайным образом перемешивает строки ввода. Используя опцию -n, мы можем указать количество элементов, которые мы хотим извлечь из текстового файла. Просто замените <number_of_elements>на нужное количество и <file_name>на фактическое имя вашего текстового файла.

Метод 2: использование команды awk
Пример кода:

awk 'BEGIN { srand(); } { if (rand() <= <probability>) print; }' <file_name> | head -n <number_of_elements>

Объяснение:
Команда awk— мощный инструмент обработки текста. Используя возможности генерации случайных чисел, мы можем достичь нашей цели. Замените <probability>на желаемую вероятность (например, 0,5 для вероятности 50%) и <number_of_elements>на желаемое количество. <file_name>следует заменить именем вашего текстового файла.

Метод 3. Использование сценариев Python
Пример кода:

import random
n = <number_of_elements>
with open('<file_name>', 'r') as file:
    lines = file.readlines()
    random_elements = random.sample(lines, n)
    for element in random_elements:
        print(element.strip())

Объяснение:
Python — универсальный язык, позволяющий программно решать различные задачи. В этом методе мы используем модуль randomдля случайного выбора элементов nиз текстового файла. Замените <number_of_elements>на нужное количество и <file_name>на имя вашего текстового файла.

Метод 4: использование сценариев Perl
Пример кода:

#!/usr/bin/perl
$n = <number_of_elements>;
$file = '<file_name>';
open(FILE, $file) or die "Cannot open $file: $!";
@lines = <FILE>;
close(FILE);
@random_elements = splice(@lines, rand @lines, $n);
foreach $element (@random_elements) {
    print $element;
}

Объяснение:
Perl — еще один мощный язык сценариев, превосходно справляющийся с манипуляциями с текстом. В этом методе мы считываем файл в массив @lines, а затем используем функцию spliceдля извлечения nслучайных элементов. Замените <number_of_elements>на нужное количество и <file_name>на имя вашего текстового файла.

В этой статье мы рассмотрели несколько интересных методов случайного выбора элементов из текстового файла в Linux. От использования команд shufи awkдо использования сценариев Python и Perl — теперь у вас есть ряд возможностей для достижения желаемого результата. Итак, попробуйте эти методы и добавьте немного случайности в свои приключения в Linux!