我明白什么大括号扩展是,但我不知道如何最好地使用它。
你什么时候使用它?
如果您有自己的秘诀,请教我一些方便且出色的例子。
答案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