如何在linux中自动创建目录?
How to create directories automatically in linux?
我有一个名为 temp.txt 的文件,其中包含以下内容
https://abcdef/12345-xyz
我需要在 linux 中自动创建目录,方法是仅使用文件中每一行的数字部分。
所以输出应该类似于 12345 和 5426525 目录创建。
有关如何执行此操作的任何方法都可能有所帮助。
这是我从网上搜索得到的代码,在这段代码中,新的目录将以BR和W0开头的文件名创建。
for file in {BR,W0}*.*; do
dir=${file%%.*}
mkdir -p "$dir"
mv "$file" "$dir"
done
假设每个 URL 的形式为
http[s]://any/symbols/some_digits-some_letters
那么您确实可以在 shell 变量扩展中使用简单的前缀和后缀修饰符。
${x##*/}
扩展到 x
的后缀部分,从最后一个斜杠 /
开始。
${y%%-*}
扩展到第一个 -
.
之前 y
的前缀部分
while read x ; do
y=${x##*/}
z=${y%%-*}
mkdir $z
done < temp.txt
我有一个名为 temp.txt 的文件,其中包含以下内容 https://abcdef/12345-xyz
我需要在 linux 中自动创建目录,方法是仅使用文件中每一行的数字部分。 所以输出应该类似于 12345 和 5426525 目录创建。
有关如何执行此操作的任何方法都可能有所帮助。
这是我从网上搜索得到的代码,在这段代码中,新的目录将以BR和W0开头的文件名创建。
for file in {BR,W0}*.*; do
dir=${file%%.*}
mkdir -p "$dir"
mv "$file" "$dir"
done
假设每个 URL 的形式为
http[s]://any/symbols/some_digits-some_letters
那么您确实可以在 shell 变量扩展中使用简单的前缀和后缀修饰符。
${x##*/}
扩展到 x
的后缀部分,从最后一个斜杠 /
开始。
${y%%-*}
扩展到第一个 -
.
y
的前缀部分
while read x ; do
y=${x##*/}
z=${y%%-*}
mkdir $z
done < temp.txt