求Bash中逐行打印a-z的最短命令,是否有更优写法?
更短的逐行打印a-z的Bash命令(用于管道到awk)
这里有几个比你当前命令更短的Bash写法,都能逐行输出a到z,方便管道给awk:
方法1:用printf直接展开
printf "%s\n" {a..z}这是最简洁的写法之一,
printf可以直接处理Bash的大括号范围展开,每个字母后自动换行,无需循环和单独的echo命令。方法2:echo展开后转换行
echo {a..z} | tr ' ' '\n'echo {a..z}会输出空格分隔的a到z,再通过tr把空格替换成换行,实现逐行输出。
这两个命令都可以直接管道给awk,比如要把字母转大写的示例:
printf "%s\n" {a..z} | awk '{print toupper($0)}'
内容的提问来源于stack exchange,提问作者Eduardo
相关产品推荐
相关产品推荐

