使用linux中的现有文件名创建多个文件夹

时间:2013-10-28 11:22:23

标签: bash pdf mkdir

我已下载了几个pdf文件(各种名称),并将它们存储在特定目录中(例如Downloads/directory1)。

我想使用原始文件的名称创建文件夹以将这些文件存储在同一目录下,但不包含扩展名pdf。

例如,对于名为maths.pdf的文件,我想创建文件夹maths并将pdf存储在其中。

我尝试使用basenamefor等命令创建脚本,但我没有运气。

2 个答案:

答案 0 :(得分:0)

尝试:

  cd Downloads/directory1
  for f in *.pdf; do
     fname=${echo $f | sed "s/.pdf//" }
     echo "Creating directory [$fname]"
     mkdir "$fname"
  done

答案 1 :(得分:0)

你可以这样做:

假设你得到:

filename='Downloads/directory1/math.pdf'

f="${filename##*/}"
dir="${f%.*}"

mkdir -p "$dir"

将创建math目录