如何制作从A到Z的字母列表并在shell中迭代它们?

veh*_*zzz 4 unix shell perl awk csh

假设我想在csh shell中从字母A迭代到字母Z. 我该如何简洁地做到这一点?

在bash我会做类似的事情

for i in 'A B C ...Z'; do echo $i; done
Run Code Online (Sandbox Code Playgroud)

关键是我不想写A到Z,我想要类似的东西

[A-Z]
Run Code Online (Sandbox Code Playgroud)

你能用AWK或Perl建议一行建议吗?

Sin*_*nür 6

perl -e 'print for "a" .. "z", "A" .. "Z", 0 .. 9'
Run Code Online (Sandbox Code Playgroud)

  • 为什么你不能迭代它们?Perl范围运算符只返回一个列表.这是一个像任何其他列表一样的列表.做任何你喜欢的事.此外,您需要澄清您没有告诉我们的所有内容的问题. (2认同)

mob*_*mob 5

珀尔

$,=" ";print +(A..Z)
Run Code Online (Sandbox Code Playgroud)

或在外壳内使用:

for i in `perl -e '$,=" ";print +(A..Z)'` ; do echo $i ; done
Run Code Online (Sandbox Code Playgroud)

  • 为什么在范围运算符周围有括号?是否有一些我遗漏的奇怪的 shell 交互? (3认同)
  • 我更喜欢`perl -E'say for A..Z'` (3认同)