【发布时间】:2016-12-29 14:15:29
【问题描述】:
我有一个包含以下文件名结构的近 500 个 pdf 文件的列表:
XXXX-YYYY-MM-DD.pdf
其中XXXX 是可变长度的数字代码(1 到 4 位),始终以“-”分隔,例如:
51-2016-08-22.pdf
776-2016-08-22.pdf
3881-2016-08-22.pdf
4-2016-08-22.pdf
2860-2016-08-22.pdf
目标是将每个文件复制到其自己的目录中,将目录命名为模式(即:文件 776-2016-08-22.pdf 转到目录 776)。如何使用 awk 或 sed 来分隔可变长度字段?
这是我的代码:
for f in *.pdf
do
FOLDERNAME=`echo $f| awk (awk or sed missing code here)`
mkdir /my/dir/structure/$FOLDERNAME
cp $f /my/dir/structure/$FOLDERNAME/
done
感谢您的支持。
【问题讨论】:
-
学习使用 shell 参数扩展运算符而不是管道到程序:gnu.org/software/bash/manual/html_node/…
-
sed s/-.*//将删除从第一个-开始的所有内容。