我有一个名为 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
答案 0 :(得分:2)
假设每个网址的格式为
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