答案1
你应该阅读手册页:
- 男人1切
- 人 1 mkdir
提示:
cut -f1,2,3
使您能够输出多个字段cut --output-delimiter=CHAR
允许您覆盖输出分隔符,默认为输入分隔符mkdir -p a/b/c
创建目录层次结构A/b/C, IEb是子目录A和C是子目录b。
答案2
这是一个解决方案:
outputPath='/path/to/output/'
for file in $(find ~/filesToSort/ -type f -name "ff*")
do
firstLine=$(head -n 1 $file)
datePath="${firstLine//-//}"
mkdir -p $outputPath$datePath
mv $file $outputPath$datePath
done
基本上,这个脚本的作用是:
- 列出所有文件
- 将文件的第一行获取到字符串中
- 将字符串中的“-”替换为“/”以创建路径
- 创建路径
- 将文件移动到新创建的路径
您可能需要添加测试以确保第一行与所需的模板匹配。