这个大括号表达式将生成一个文件列表:
$ touch {foo{.t,t.t},other.txt,test{,.{ascii,t{est.qt,x{t,xt}}}}}
$ ls
foo.t foot.t other.txt test test.ascii test.test.qt test.txt test.txxt
是否可以将文件列表转换回大括号扩展?
答案1
使用上面给出的文件列表,您只需在空命令行中按 ( M-{ ):
Alt-{
要得到:
$ {foo{.t,t.t},other.txt,test{,.{ascii,t{est.qt,x{t,xt}}}}}
或者,写入fo
并按相同的键以获得:
$ foo{.t,t.t}
也就是说,将所有与字符串匹配的文件fo
(在点之前)填充到大括号中。
从man bash
Complete-into-braces (M-{)
执行文件名补全并插入用大括号括起来的可能补全列表,以便 shell 可以使用该列表。