bashshellfishbrace-expansion

How to generate letter sequence list in fish shell


In bash you can generate letter sequence easily as "{a..z}", for example

$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

How to do that in the fish shell instead?


Solution

  • Fish doesn't support ranges in brace expansion, only comma-separated values: {a,b,c}.

    Thus, we are forced to search for a command capable of generating such sequence. For example, you can use Perl:

    for c in (perl -e '$,="\n"; print ("a" .. "z")')
      printf ">> %s\n" "$c"
    end
    

    where $, is the output field separator.

    Output

    >> a
    >> b
    ...(skipped)
    >> y
    >> z
    

    You may find this table useful.