java—如何在linux循环中使用文件输出

ekqde3dh  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(257)

我有一个有很多jar名字的文件
例如,jars.txt包含

axiom-api-1.2.13.jar
axiom-dom-1.2.13.jar
axiom-impl-1.2.13.jar
axis2-adb-1.6.2.jar
axis2-adb-codegen-1.6.2.jar
axis2-ant-plugin-1.6.2.jar
axis2-clustering-1.6.2.jar

我想找到它们的位置并删除它们,我尝试使用以下脚本


# !/bin/ksh

file="/path/to/file/jars.txt"

while IFS= read -r line
do
    echo "$line"
    for i in $(find  $BASE_DIR/root/ -name "$line"); do
        echo "delete $i"
        rm "$i"
    done
done <"$file"

那一排 echo "$line" 打印正确的文件名,但在for循环中,结果为空
如果我使用 find $BASE_DIR/root/ -name "axiom-api-1.2.13.jar" 它的工作和找到所有的文件
那我还缺什么?为什么for循环不使用$行作为参数?

b0zn9rqh

b0zn9rqh1#

文件jars.txt是在windows上创建的,当我在linux上使用它时,它有格式错误。解决方法是在linux中创建一个新文件并复制数据

相关问题