我想生成一系列的文件,其中每个文件的文件名将增加1( File2.txt
, File3.txt
, File3.txt
,… FileN.txt
),其中N = 250
每个文件有2行。
AAAXXX
(其中XXX = 001
至250
– 每个文件自动增加) BBBYYY
(其中YYY = 3
位随机数) 例:
FILE1.TXT:
AAA001 BBB175
File5.txt:
AAA005 BBB067
File102.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}
– 指定迭代从1到250的bash方式,增量大小为1。 printf
– shell printf命令 – 用于打印格式化的字符串 AAA
– 字符串文字(意思是“完全一样写”) %03d
– 格式化的字符串,这会打印一个十进制数字,前面加上3个零。 \n
– 换行符 BBB
– 另一个字符串文字 %03d
– 和以前一样 ${i}
– 这是在第一个格式化的字符串( %03d
)中使用的值 $(($RANDOM % 1000))
– $RANDOM
是一个系统变量,每次访问时都会为您提供一个随机数。 % 1000
取模,所以你的范围在0-999
。 这用于第二个格式化的字符串( %03d
) > File${i}.txt
:输出重定向; 创建并保存到一个文件(覆盖如果文件已经存在。 这里有一个快速的一行可能会启动你:
for i in {1..250}; do printf "AAA%03d\nBBB%03d" $i $(($RANDOM % 1000)) > "File${i}.txt"; done
使用bash:
for i in {1..250}; do printf "AAA%03d\nBBB%03d\n" "$i" "$((RANDOM%1000))" > "File$i.txt"; done
你可以为此写一个bash脚本
#!/bin/bash for (( i=1; i<=250; i++ )) do NUMBER=$[ ( $RANDOM % 999 ) + 100 ] echo "AAA$i BBB$NUMBER" > File$i.txt done