什么时候使用大括号扩展?

什么时候使用大括号扩展?

我明白什么大括号扩展是,但我不知道如何最好地使用它。

你什么时候使用它?
如果您有自己的秘诀,请教我一些方便且出色的例子。

答案1

如果路径名很长,大括号扩展非常有用。我用它作为一种快速方法备份文件:

cp /a/really/long/path/to/some/file.txt{,.bak}

将复制/a/really/long/path/to/some/file.txt/a/really/long/path/to/some/file.txt.bak

您还可以在顺序。我曾经这样做是为了从网上下载很多页面:

wget http://domain.example/book/page{1..5}.html

或者

for i in {1..100}
do
   #do something 100 times
done

答案2

创建大型目录结构时,大括号扩展非常方便:

mkdir -p dir1/{subdir1,subdir2}/{subsubdir1,subsubdir2}

这会给你

find dir1 -type d
dir1
dir1/subdir1
dir1/subdir1/subsubdir1
dir1/subdir1/subsubdir2
dir1/subdir2
dir1/subdir2/subsubdir1
dir1/subdir2/subsubdir2

您甚至可以更进一步,将大括号扩展放入大括号扩展中:

mkdir -p dir1/{subdir{1,2}}/{subsubdir{1,2}}

这将为您提供与上面示例相同的目录结构。

答案3

当我想减少打字时我使用它:

geany /path/to/file1 /path/to/file2
# versus
geany /path/to/file{1,2}

另一个例子:

wajig install libpam0g-dev libiw-dev libdb-dev
# versus
wajig install lib{pam0g,iw,db}-dev

答案4

对我来说,一些常见的情况是:

对于重命名:

mv myText.{txt,tex}

或者

mv myText.tex{,.old}

或者

cp myText.tex{,.backup}

(尽管对最后两个任务使用版本控制不会那么混乱。)

用于比较(已经提到):

diff path{1,2}/a.txt

相关内容