1
6
你可以换一个
find srcdir -name '*.mp3' -printf '%P\n' | while read i; do j="${i//\// - }" cp -v "srcdir/$i" "dstdir/$j" done
在壳里没有
find srcdir -name '*.mp3' -printf '%P\n' | sed -e 'p;s:/: - :g' | while read i; do read j cp -v "srcdir/$i" "dstdir/$j" done
对于另一个方案,GNU的
find srcdir -name '*.mp3' -exec cp -v --backup=numbered {} dstdir/ \; |
2
2
类bash伪代码:
|
3
2
|
4
1
我倾向于在一个简单的脚本中完成这项工作,而不是尝试在一个命令行中适应。 例如,在python中,在目录中执行walk()相对比较简单,将找到的每个MP3文件复制到具有自动递增数字的不同目录中。 如果你想更进一步,你可以有一个现有文件名的字典,只需在副本上附加一个数字。(字典的索引是文件名,值是到目前为止找到的文件数,这将成为您的后缀) |
5
1
|
6
1
冒着许多否决的风险,可以在短时间内编写一个Perl脚本来完成这一任务。 Pseudocode:
|
7
1
在python中:要实际移动文件,请更改debug=false
|
8
1
由于您不关心重复文件的命名方式,请在移动时使用“备份”选项:
会得到你:
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
g00dds · 如何在bash中从文件中的每一行解码base64? 2 年前 |
Paul · Bash wait命令忽略指定的进程ID 2 年前 |
RafaÅ G. · 如何使用从文件读取的多行参数运行ssh? 2 年前 |
Priya · 在shell脚本中多次运行python脚本 2 年前 |