如何创建 100 个文件

如何创建 100 个文件

所以我必须生成 100 个文件,其中包含任意随机数。然后我必须读取这些文件并找出哪个文件中的数字最大,还要对所有值进行排序并将所有内容放入新的 .txt 文件中。我首先要做什么?

谢谢你!

答案1

$RANDOM首先,使用循环生成所有随机数并将它们重定向到各个文件,如下所示:

for i in {1..100}; do echo $RANDOM > $RANDOM.txt; done;

(可能会出现重复的数字,因此请注意。)

接下来,读取并排序这些文件,然后只对最后一个文件进行 tail 操作。完整的脚本如下所示:

#!/bin/bash

for i in {1..100}; do
    echo $RANDOM > ${i}.sample;
done;

cat *.sample | sort | tail -n1;

答案2

版权所有 James Daniel Marrs Ritchey。本材料提交于 '如何创建 100 个文件',但也可以从'https://snippetly.blogspot.com/2019/12/create-100-files-with-random-numbers-in.html' 根据以下任何许可条款:Comprehensible Open License 3.0(https://jamesdanielmarrsritchey.blogspot.com/2019/06/comprehensible-open-license-30.html)、麻省理工学院 (https://opensource.org/licenses/MIT)。

您尚未指定脚本语言,因此我假设您愿意使用任何能够满足您需求的语言。您可以使用 PHP。只需创建一个循环,生成一个数字并将其保存到文件中,直到创建 100 个。然后将这 100 个文件读入数组。对数组进行排序以使数字按顺序排列。将数组转换为字符串,然后将其保存到新的文本文件中。还要从数组中获取最后一个值,因为这将是最大的数字。

不过我不确定你为什么需要创建所有这些文件。你可以跳过所有这些步骤,只需创建包含所有数字的最终文件即可。

代码:

<?php
#Determine location of this script (so that files can be saved there)
$location = __DIR__;
#Create 100 files with random numbers in them. Files are saved to same directory as script. Numbers are between 0 and 1000000000.
for ($n = 1; $n <= 100; $n++) {
    file_put_contents("{$location}/{$n}.txt", random_int(0, 1000000000));
}
#Read numbers from the 100 files into a sorted new text file
$numbers = array();
for ($n = 1; $n <= 100; $n++) {
    $numbers[] = file_get_contents("{$location}/{$n}.txt");
}
sort($numbers, SORT_NUMERIC);
file_put_contents("{$location}/sorted_numbers.txt", implode("\n", $numbers));
#Determine the biggest number
$biggest_number = end($numbers);
echo "This biggest number is $biggest_number.\n";
?> 

相关内容