【发布时间】:2013-10-28 11:22:22
【问题描述】:
我已经下载了几个 pdf 文件(具有不同的名称)并将它们存储在特定目录中(例如,Downloads/directory1)。
我想创建文件夹以将这些文件存储在同一目录下,使用原始文件的名称,但没有扩展名 pdf。
例如,对于名为maths.pdf 的文件,我想创建文件夹maths 并将pdf 存储在其中。
我曾多次尝试使用basename 和for 等命令创建脚本,但都没有运气。
【问题讨论】:
我已经下载了几个 pdf 文件(具有不同的名称)并将它们存储在特定目录中(例如,Downloads/directory1)。
我想创建文件夹以将这些文件存储在同一目录下,使用原始文件的名称,但没有扩展名 pdf。
例如,对于名为maths.pdf 的文件,我想创建文件夹maths 并将pdf 存储在其中。
我曾多次尝试使用basename 和for 等命令创建脚本,但都没有运气。
【问题讨论】:
你可以这样做:
假设你得到:
filename='Downloads/directory1/math.pdf'
f="${filename##*/}"
dir="${f%.*}"
mkdir -p "$dir"
将创建mathdirectory
【讨论】:
尝试:
cd Downloads/directory1
for f in *.pdf; do
fname=${echo $f | sed "s/.pdf//" }
echo "Creating directory [$fname]"
mkdir "$fname"
done
【讨论】:
basename,而不是sed 管道。