无法在bash中移动文件

时间:2018-11-02 18:06:04

标签: linux bash

#! /bin/bash                                                                                         

for i in {0..9} ;
do
    mkdir -p "d$i "
    for j in {0..9};
    do
        if [ -e "./f$i$j.txt" ];
        then
            echo 'Moving!'
            mv    "./f$i$j.txt" "./d$i/f$j.txt"
        fi
    done
done

上面的代码旨在在当前工作目录中搜索名称为f ##。txt的所有文件,其中#是数字,并将其排列到目录中,以使fAB.txt变为dA / fB.txt。据我所知,它应该可以运行,但是在运行代码时出现以下错误。

Moving!
mv: cannot move './f48.txt' to './d4/f8.txt': No such file or directory

1 个答案:

答案 0 :(得分:0)

尝试一下。

删除了不必要的“;”

#! /bin/bash                                                               
for i in {0..9}
do
 mkdir -p "d$i"
 for j in {0..9}
 do
    if [ -e "./f$i$j.txt" ]
    then
        echo 'Moving!'
        mv "./f$i$j.txt" "./d$i/f$j.txt"
    fi
    done
done