linux - 生成具有相同结构的多个文件

标签 linux bash

我想生成一系列文件,其中每个文件的文件名都要增加1(File1.txt, File2.txt, File3.txt, ... FileN.txt) 其中 N = 250

每个文件有两行。

  1. AAAXXX(其中 XXX = 001250 - 每个文件自动增加)
  2. BBBYYY(其中 YYY = 3 数字随机数)

示例:

  1. 文件 1.txt:

    AAA001
    BBB175
    
  2. File5.txt:

    AAA005
    BBB067
    
  3. 文件 102.txt:

    AAA102
    BBB765
    

我是使用 Ubuntu Linux 12.04 的新手 - 但我希望有人能提供帮助。

最佳答案

您可以按如下方式进行:

#!/bin/bash

for i in {1..250}
do
    printf "AAA%03d\nBBB%03d" ${i} $(($RANDOM % 1000)) > File${i}.txt
done

解释:

  • for i in {1..250} - bash 指定迭代次数从 1 到 250 的方式,增量大小为 1。
  • printf - 外壳 printf命令 - 用于打印格式化字符串
  • AAA - 字符串字面量(意思是“完全照写”)
  • %03d - 格式化字符串,这会打印一个十进制数字,前面填充 3 个零。
  • \n - 换行符
  • BBB - 另一个字符串文字
  • %03d - 和以前一样
  • ${i} - 这是第一个格式化字符串 (%03d) 中使用的值
  • $(($RANDOM % 1000)) - $RANDOM 是一个系统变量,每次访问它时都会为您提供一个随机数。 % 1000 取模,以便您获得 0-999 之间的范围。这用于第二个格式化字符串 (%03d)
  • > File${i}.txt:输出重定向;创建并保存到文件(如果文件已存在则覆盖。

关于linux - 生成具有相同结构的多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632604/

相关文章:

python - 使用 Python 连接 MySQL 数据库时出错

linux - 在 Linux 中同步目录内容

bash - 安装 npm 包时出错 npm ERR!代码生命周期

linux - 找出git中所有修改文件的最后修改时间

c - 有没有办法在 Linux 中创建虚拟文件描述符?

linux - Perl,如何使用管道将多个文件分类到同一个文件处理程序中?

c++ - 具有可变长度写入的多生产者多消费者无锁非阻塞环形缓冲区

bash - 在使用 systemd 启动 httpd 服务之前运行 bash 脚本

arrays - 在 Bash 中循环遍历多个数组时关联数组键中的空格

linux - 如何从 Linux 命令行使用 curl 发送数据?