脚本将文件名拆分为part1和part2,并创建目录part1并将文件part2放入part1目录

时间:2016-08-14 03:38:32

标签: python linux bash split directory

我有一堆形式为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,...上使用任何工具吗? 谢谢

1 个答案:

答案 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