【发布时间】:2019-06-12 23:40:17
【问题描述】:
我有很多文件
BR0200.aaa.tsv
BR0200.bbb.tsv
BR0200.ccc.tsv
BR0210.aaa.tsv
BR0210.bbb.tsv
BR0210.ccc.tsv
W0210.aaa.tsv
W0210.aaa.tsv
W0210.aaa.tsv
我想根据文件名的第一部分创建一系列目录,直到第一个'。'
BR0200
BR210
W0210
然后将关联的文件移动到正确的目录(即所有 BR0200.* 文件到 BR0200 目录)。
我对 bash 脚本进行了尝试,但我不断收到错误消息。任何建议都将不胜感激。
#!/bin/bash
for file in BR* W0*; do
dir = "${file%%.*}"
if [-e $dir];then
mv "$file" "$dir"
else
mkdir -p "$dir"
mv "$file" "$dir"
fi
done
抱歉,这是一个基本问题。我试过在网上搜索,但没有结果。
【问题讨论】:
-
@owlstead globbing 是 shell 必须提供的最有用的功能之一。
-
@jordanm 你当然是对的,删除评论。