0

我怎样才能重写这个命令:

ls access-19{01,02,03,04,05,06,07,08,09,10,11,12}*.log

这是工作。

像这样的形式:

ls access-19{$(seq -ws',' 01 12)}*.log

这是行不通的。

4

3 回答 3

1

使用大括号展开:

ls access-19{01..12}*.log
于 2019-08-09T19:59:55.257 回答
1

在 shell 中,大括号扩展是在变量扩展之前执行的,因此您不能在内部使用变量或命令替换{...}

不使用seq,您可以使用:

ls access-19{0{1..9},1{0..2}}*.log
于 2019-08-09T19:55:27.443 回答
0

这将适用于:

eval ls access-19{$(seq -ws',' 01 12)}*.log
于 2019-08-09T20:17:37.530 回答