Ant*_*nko 3 arrays bash expansion
我正在尝试在bash中扩展一个数组:
FILES=(2009q{1..4})
echo ${FILES[@]}
echo ${FILES[@]}.zip
Run Code Online (Sandbox Code Playgroud)
输出是:
2009q1 2009q2 2009q3 2009q4
2009q1 2009q2 2009q3 2009q4.zip
Run Code Online (Sandbox Code Playgroud)
但是如何在echo 2009q{1..4}.zip扩展中扩展最后一行,以便最后一行看起来像:
2009q1.zip 2009q2.zip 2009q3.zip 2009q4.zip
Run Code Online (Sandbox Code Playgroud)
...但是使用数组FILES?
FILES=(2009q{1..4})
echo ${FILES[@]/%/.zip}
Run Code Online (Sandbox Code Playgroud)
输出:
2009q1.zip 2009q2.zip 2009q3.zip 2009q4.zip
从Bash的参数扩展:
${parameter/pattern/string}:扩展模式以生成模式,就像在文件名扩展中一样.扩展参数,并将模式与其值的最长匹配替换为字符串.如果pattern以'/'开头,则pattern的所有匹配都将替换为string.通常只替换第一场比赛.如果pattern以'#'开头,则它必须在参数的扩展值的开头匹配.如果pattern以'%'开头,则它必须在参数的扩展值的末尾匹配.如果string为null,则删除pattern的匹配,并且可以省略/ following模式.如果参数是'@'或' ',则替换操作依次应用于每个位置参数,并且扩展是结果列表.如果parameter是一个用'@'或' ' 下标的数组变量,则替换操作将依次应用于数组的每个成员,并且扩展是结果列表.
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |