12 command-line music directory 18.04
我有一个名为musicwhere 里面有所有艺术家文件夹的文件夹。有没有办法使用命令在所有艺术家文件夹中创建这些文件夹:1. Albums, 2. EP, 3. Singles, 4. Live?
Ste*_*eve 18
你可能想为这个戴上你的{花括号}
为了这个论点,我们将假装 ./music 不存在
在 ./music 的基本目录中,我们将使用 -p 命令在需要的地方创建子目录,并使用大括号创建一个小数组
该命令-p是 parent 的缩写,如果更容易记住,您可以--parent改用
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
Run Code Online (Sandbox Code Playgroud)
如果你想玩这个,你可以,例如
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
Run Code Online (Sandbox Code Playgroud)
您有嵌套的表达式,您可以将大括号插入字符串的中间,您还可以允许子目录效仿,并且您可以针对特定数组指定子目录
我建议你在某个地方制作一个文件,在那里你可以用这些命令制作自己的模板并给出描述
访问此页面了解更多信息https://www.linuxjournal.com/content/bash-brace-expansion和https://www.linux.com/tutorials/all-about-curly-braces-bash/
jaw*_*ark 12
当然,在艺术家文件夹所在的音乐文件夹中执行此操作:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
Run Code Online (Sandbox Code Playgroud)
您可以在 CLI 上执行此操作,也可以通过将其添加#!/bin/sh为第一行并将其保存在文件中来使其成为 shell 脚本。不要忘记使文件可执行。
至于它的作用:它遍历*/当前目录中的所有目录 ( ),然后对于这些目录中的每一个,遍历所需的子文件夹(第二个for),然后创建所需的(相对)子文件夹。
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |