我有一个shell脚本需要在txt文件中提供以下模式
test0000 test0000@gmail.com
test0001 test0001@gmail.com
依此类推,直到停止条件(在这种情况下为10 ......)
目前无效,我尝试了以下内容:
start=“test”
email=“@gmail.com"
start=0
stop=10
i=0
while [[ $i -le 10 ]]
do
printf "%s%10d\n" "$start” "$i" "\n" "$start” "$email"
任何想法如何解决?我收到错误:“@ gmail.com:”无效号码
答案 0 :(得分:1)
使用不同的for循环语法的另一个示例:
start="test"
email="@gmail.com"
for i in {0000..9};do
echo "${start}$i ${start}${i}${email}"
done
test0000 test0000@gmail.com
test0001 test0001@gmail.com
test0002 test0002@gmail.com
test0003 test0003@gmail.com
test0004 test0004@gmail.com
test0005 test0005@gmail.com
test0006 test0006@gmail.com
test0007 test0007@gmail.com
test0008 test0008@gmail.com
test0009 test0009@gmail.com
或者,使用while循环:
start="test"
email="@gmail.com"
count=0
while [[ $count -lt 10 ]]; do
printf '%s%04d %s%04d%s\n' "$start" $count "$start" $count "$email"
let count++
done
答案 1 :(得分:0)
您可以使用:
start='test'
email='@gmail.com'
for ((i=0; i<10; i++)); do
printf '%s%04d %s%04d%s\n' "$start" $i "$start" $i "$email"
done
test0000 test0000@gmail.com
test0001 test0001@gmail.com
test0002 test0002@gmail.com
test0003 test0003@gmail.com
test0004 test0004@gmail.com
test0005 test0005@gmail.com
test0006 test0006@gmail.com
test0007 test0007@gmail.com
test0008 test0008@gmail.com
test0009 test0009@gmail.com