【问题标题】:How to create directories automatically in linux?如何在linux中自动创建目录?
【发布时间】:2017-04-18 04:54:09
【问题描述】:

我有一个名为 temp.txt 的文件,其中包含以下内容 https://abcdef/12345-xyz

https://ghifdfg/5426525-abc

我需要在 linux 中自动创建一个目录,只使用文件中每一行的第一个数字部分。 所以输出应该类似于创建的 123455426525 目录。

关于如何做到这一点的任何方法都会有所帮助。

这是我从网上搜索得到的代码,在这个代码中,新目录将由以 BR 和 W0 开头的文件名创建。

for file in {BR,W0}*.*; do
dir=${file%%.*}
mkdir -p "$dir"
mv "$file" "$dir"
done

【问题讨论】:

  • 您是否尝试过使该代码适应您的需求?你有没有努力学习 shell 脚本?
  • 你阅读mkdir(1) & mkdir(2) 仔细了吗?

标签: linux mkdir


【解决方案1】:

假设每个 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 2011-01-09
    • 2019-08-02
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多