我想在Linux上生成一个介于0001
和之间的数字9999
,将其分成两个变量,然后像这样打印:
I will go for 00 and 01
我在 Linux 上使用 bash,并希望生成此输出(我假设我可以使用seq
或echo
一起使用?):
例子;从号码0001到0005所以结果会是这样的:
I will go for 00 and 01
I will go for 00 and 02
I will go for 00 and 03
I will go for 00 and 04
I will go for 00 and 05
答案1
如果练习只是为了生成该输出:
seq -w 9999 | sed 's/../something something & and /'
seq
这会读取with生成的数字sed
,并用文本替换前两位数字something something & and
(其中&
会被前两位数字替换)。另一组两位数字将保持不变并保留在行尾。
和awk
:
awk 'BEGIN {
for (i = 0; i <= 99; ++i)
for (j = 0; j <= 99; ++j) {
if (i == 0 && j == 0) continue
printf "something something %.2d and %.2d\n", i, j } }'
这使用双循环为外循环中的每个数字生成内循环中从00
到 的所有数字。99
内部if
语句确保不输出00
和 的结果00
。