Bash 创建unix脚本以对文件进行排序和处理

Bash 创建unix脚本以对文件进行排序和处理,bash,unix,terminal,Bash,Unix,Terminal,情况: 我的桌面上有一个名为unsorted_files的文件夹,其中包含大约1GB的不同文件类型(jpg、gif、docx、png、wav、mid、csv)等 除此之外,我在桌面上还有3个目录,它们只保存它们的专用文件类型(jpg、gif、docx) 这些专用目录的实际目录名为: jpgdirectory gifdirectory docxdirectory 问题: 我想创建一个bash脚本,可以在mac OS 10.10.5上通过终端运行,该脚本将从未排序的_files文件夹中分离和处理

情况:

我的桌面上有一个名为unsorted_files的文件夹,其中包含大约1GB的不同文件类型(jpg、gif、docx、png、wav、mid、csv)等

除此之外,我在桌面上还有3个目录,它们只保存它们的专用文件类型(jpg、gif、docx)

这些专用目录的实际目录名为:

jpgdirectory
gifdirectory
docxdirectory 
问题:

我想创建一个bash脚本,可以在mac OS 10.10.5上通过终端运行,该脚本将从未排序的_files文件夹中分离和处理这些文件类型,并根据文件类型将它们放入新创建的目录中

即,在执行脚本时,文件夹unsorted_files中的所有jpg文件将发送到jpgdirectory,所有gif文件将发送到gif目录

需要注意的一点是,所有带的文件类型(jpgdirectory、gifdirectory、docxdirectory)都必须发送到miscellaneous


我如何从bash脚本的角度实现这一目标,或者仅仅使用终端命令就可以实现这一目标

要在bash中自动执行mkdir和mv命令,可以将其放入下面的“for”循环中

代码:

“filetypes.txt”文件是一个文件类型列表,每行一个,例如:

jpg
gif
docx
png
wav
mid
csv
您也可以只硬编码文件类型,即

#!/bin/bash

unsorted_path="/path/to/unsorted/dir"
output_path="/path/to/output/dirs"
for type in jpg gif docx png wav mid csv
do
   mkdir -p ${output_path}/${type}directory
   mv ${unsorted_path}/*.${type} ${output_path}/${type}directory/
done

希望这有帮助

要在bash中自动执行mkdir和mv命令,可以将其放入下面的“for”循环中

代码:

“filetypes.txt”文件是一个文件类型列表,每行一个,例如:

jpg
gif
docx
png
wav
mid
csv
您也可以只硬编码文件类型,即

#!/bin/bash

unsorted_path="/path/to/unsorted/dir"
output_path="/path/to/output/dirs"
for type in jpg gif docx png wav mid csv
do
   mkdir -p ${output_path}/${type}directory
   mv ${unsorted_path}/*.${type} ${output_path}/${type}directory/
done

希望这有帮助

mv unsorted_files/*.jpg jpgdirectory/
?移动所有分类文件后,您将看到“杂项”文件。
mv unsorted_files/*.jpg jpgdirectory/
?移动所有分类文件后,将留下“杂项”文件。marcus filetypes.txt文件,是要在脚本之外创建一个单独的txt文件,还是可以嵌套在脚本中?是。
filetypes.txt
是一个单独的文件。第二个代码示例允许将文件类型硬编码到脚本中(例如,
对于jpg gif docx png wav mid csv中的类型…
marcus filetypes.txt文件,是要在脚本之外创建一个单独的txt文件,还是可以嵌套在脚本中?是。
filetypes.txt
是一个单独的文件。第二个代码示例允许将文件类型硬编码到脚本中(例如,
用于输入jpg gif docx png wav mid csv…