小编ale*_*106的帖子

从文件名创建目录并移动bash

我有一大堆文件

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
Run Code Online (Sandbox Code Playgroud)

我想基于文件名的第一部分创建一系列目录,直到第一个'.'

BR0200
BR210
W0210
Run Code Online (Sandbox Code Playgroud)

然后将关联的文件移动到正确的目录(即所有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
Run Code Online (Sandbox Code Playgroud)

对不起,如果这是一个基本问题.我试过在网上搜索,但没有结果.

linux bash

6
推荐指数
1
解决办法
6294
查看次数

标签 统计

bash ×1

linux ×1