user232326 Asked: 2018-09-12 04:55:57 +0800 CST2018-09-12 04:55:57 +0800 CST 2018-09-12 04:55:57 +0800 CST 从文件列表生成大括号扩展 772 这个大括号表达式将生成一个文件列表: $ 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 是否可以将文件列表转换回大括号扩展? bash readline 1 个回答 Voted Best Answer user232326 2018-09-12T04:55:57+08:002018-09-12T04:55:57+08:00 使用上面给出的文件列表,您只需要在空命令行中按 ( 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 可以使用该列表。
使用上面给出的文件列表,您只需要在空命令行中按 ( M-{ ):
Alt-{
要得到:
或者,写入
fo
并按下相同的键以获取:也就是说,将匹配字符串
fo
(点之前)的所有文件完整放入大括号中。从
man bash