如何在Bash脚本中通过用户输入创建含万行内容的多文件
为批量创建的文件填充10000行内容的Bash脚本优化
针对你的需求,这里提供两种简单易实现的方法,直接修改你现有脚本即可:
方法一:逐行循环写入(适合新手理解逻辑)
这种方式逻辑直观,通过嵌套循环给每个文件写入10000行内容,每行可以自定义格式:
#!/bin/bash echo How many files do you want to create? read numberOfFiles echo echo Please enter the files name prefix: read nameForFiles echo for i in $(seq 1 $numberOfFiles) do # 定义当前文件名,用引号包围避免文件名含空格时出错 filename="$nameForFiles-$i.txt" # 写入10000行内容,格式可自行修改 for j in $(seq 1 10000) do echo "File $i - Line $j" >> "$filename" done done
方法二:用yes命令快速生成(效率更高)
如果不需要自定义每行内容,只是需要填充足够行数,yes命令可以快速生成重复内容,配合head截取10000行,速度比逐行循环快很多:
#!/bin/bash echo How many files do you want to create? read numberOfFiles echo echo Please enter the files name prefix: read nameForFiles echo for i in $(seq 1 $numberOfFiles) do filename="$nameForFiles-$i.txt" # 生成重复内容并截取10000行写入文件 yes "Sample line for $filename" | head -n 10000 > "$filename" done
注意事项
- 给文件名变量加上双引号(
"$filename"),避免用户输入的前缀包含空格时出现错误。 - 两种方法都不需要提前用
touch创建空文件,写入操作(>或>>)会自动创建不存在的文件。
内容的提问来源于stack exchange,提问作者CrazyCat
相关产品推荐
相关产品推荐

