使用 bash 生成变体

  • 本文关键字:bash 使用 bash
  • 更新时间 :
  • 英文 :


为下一个代码寻找更好的解决方案:

for i in a b c
do
  for j in A B C
  do
    for k in 1 2 3
    do
      echo "$i$j$k"
    done
  done
done

当然,这里有一些更简单的解决方案。

这有点简单

echo {a,b,c}{A,B,C}{1,2,3}

或者如果想要每行一个,所以

echo {a,b,c}{A,B,C}{1,2,3} | xargs -n1

顺便说一句,您可以使用上面的bracer扩展,例如保存键盘输入,例如在需要备份文件时,例如:

cp /some/long/path/And_very-ugly-fileName{,.copy}

将使/some/long/path/And_very-ugly-fileName.copy无需第二个文件名键入。

使用大括号扩展

echo {a,b,c}{A,B,C}{1,2,3}

这将打印集合 {a,b,c}{A,B,C}{1,2,3} 之间的所有可能组合。

或者更简单,使用范围:

echo {a..c}{A..C}{1..3}

如果要每行打印每个组合,请使用for -循环:

for i in {a..c}{A..C}{1..3}; do echo $i; done

相关内容

  • 没有找到相关文章

最新更新