我有一堆形式为st_hwk.txt的文件如果你必须知道,这就是Moodle下载评分的方式。它采用hwk的名称并预备用户名。 这个解决方案需要在Linux bc上工作,这正是我正在研究的。 例如: 我下载了j smith_hwk1a.txt,j smith_hwk1b.txt,m wong_hwk1a.txt,m wong_hwk1b.txt。 (是的,文件名有fname space lname)
它应该读取文件名并创建dir jsmith和mwong。 (没有空间) 放入jsmith文件hwk1a.txt和hwk1b.txt。 (来自jsmith的hwk1) 放入mwong文件hwk1a.txt和hwk1b.txt。 (来自mwong的hwk1)。 你可以在典型的linux,bash,php,...上使用任何工具吗? 谢谢
答案 0 :(得分:0)
for f in *_hwk*.txt; do
n=$(echo "$f"|tr -d ' '|tr _ /); # delete spaces, convert _ to /
mkdir -p "$(dirname "$n")"; # make directory if needed
mv "$f" "$n"; # move the file
done