移除指定目录的文件

简介:

#!/bin/bash

dir1=/root/was1

dir2=/root/was2

#dir1=/wasprofiles/c01-`hostname`/installedApps/cell01

#dir2=/wasprofiles/c02-`hostname`/installedApps/cell02


function del_files

{

    i=1

    echo "----------------------------------------------------------------------"


    arr=($1)

    for s in ${arr[@]}

    do

        echo "$i $s"

        i=$[$i + 1]

    done

    

    echo "----------------------------------------------------------------------"

    echo "Choose files to remove.(Example:1 2 3 or all)"

    read rmfiles

    while test -z "$rmfiles"

    do

        echo "Input is null! Please input again.(Example:1 2 3 or all)"

        read rmfiles

    done

    echo "----------------------------------------------------------------------"


    if [ "$rmfiles" = "all" ] ; then

        for rf in ${arr[@]}

        do

    [ ! -d /tmp/$2 ] && mkdir /tmp/$2

    rmname=`sed 's/\///' <<< "$rf" | sed 's/\//#/g'`

            mv $rf /tmp/$2/$rmname

done

    else

        for rf in $rmfiles

        do

            if grep '^[[:digit:]]*$' <<< "$rf" >/dev/null ; then

        arf=$[$rf - 1]

        if test -z ${arr[$arf]} ; then

    echo "Eeror: Input $rf not exist"

        else

                    [ ! -d /tmp/$2 ] && mkdir /tmp/$2

    rmname=`sed 's/\///' <<< "${arr[$arf]}" | sed 's/\//#/g'`

                    mv ${arr[$arf]} /tmp/$2/$rmname

        fi

            else

                echo "Eerror: Input $rf is not number."

            fi

        done

    fi

    echo "ls /tmp/$2"

    ls -l /tmp/$2

}


echo "Please input was1,was2 or exit."

read line

while test -z "$line" || ([ "$line" != "was1" ] &&  [ "$line" != "was2" ] && [ "$line" != "exit" ])

do

    echo "Input error! Please input was1,was2 or exit."

    read line

done

echo "----------------------------------------------------------------------"


if [ $line = "was1" ] ; then

    echo "Files will be found in $dir1"

    echo "Please input filename.(Example: abc 123.txt)"

    read filename

    while test -z "$filename"

    do

        echo "Input is null! Please input again.(Example: abc 123.txt)"

        read filename

    done


    for file in $filename

    do

        ffile=`find $dir1 -type f -name $file\*`

        if test -z "$ffile" ; then

            echo "Info: $file is not found."

        else

            ffiles="$ffile $ffiles"

        fi

    done

    if test -z "$ffiles" ; then

        echo "Can't find input files."

    else

        del_files "$ffiles" was1

    fi

elif [ $line = "was2" ] ; then

        echo "Files will be found in $dir2"

    echo "Please input filename.(Example: abc 123.txt)"

    read filename

    while test -z "$filename"

    do

        echo "Input is null! Please input again.(Example: abc 123.txt)"

        read filename

    done

    for file in $filename

    do

        ffile=`find $dir2 -type f -name $file\*`

        if test -z "$ffile" ; then

            echo "Info: $file is not found."

        else

            ffiles="$ffile $ffiles"

        fi

    done

    if test -z "$ffiles" ; then

        echo "Info: All input files not found!"

    else

        del_files "$ffiles" was2

    fi

elif [ $line = "exit" ] ; then

    exit

fi



     本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1960782 ,如需转载请自行联系原作者




相关文章
|
XML Java 数据库
探索 Spring Boot 中的 @Configuration 注解:核心概念与应用
【4月更文挑战第20天】在 Spring Boot 项目中,@Configuration 注解扮演了一个关键角色,它标识一个类作为配置源,这些配置用于定义和管理 Spring 应用程序中的 Bean
2825 7
|
存储 算法 安全
G1原理—2.G1是如何提升分配对象效率
本文深入探讨了G1垃圾回收器中对象分配的原理与机制,包括TLAB(线程本地分配缓冲)的作用、快速分配与慢速分配的区别及流程。首先分析了G1的对象分配原理,强调了停顿预测模型和无锁化分配的重要性。接着详细解析了TLAB机制,涵盖其大小确定、满时处理以及如何借助指针碰撞法实现高效分配。同时讨论了大对象分配的特点及其与普通对象分配的不同之处。最后,针对慢速分配失败的情况,介绍了G1如何通过FGC(Full GC)进行最终尝试,确保系统在极端情况下的稳定运行。整体内容围绕提升分配效率与减少GC压力展开,为理解G1的工作机制提供了全面视角。
G1原理—2.G1是如何提升分配对象效率
|
消息中间件 SQL 分布式计算
大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理
大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理
271 6
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(Natural Language Processing,简称NLP)
自然语言处理(NLP)是人工智能的分支,旨在让计算机理解、解释和生成人类语言。NLP的关键技术和应用包括语言模型、词嵌入、文本分类、命名实体识别、机器翻译、文本摘要、问答系统、情感分析、对话系统、文本生成和知识图谱等。随着深度学习的发展,NLP的应用日益广泛且效果不断提升。
1076 4
|
数据可视化 数据挖掘 项目管理
打破协作壁垒,Excel多人协同编辑工具带来翻天覆地的变化!
在现代办公中,团队协作和信息共享至关重要。Excel的多人协同编辑功能显著提升了工作效率,避免了版本冲突和重复劳动。市场上的Google Sheets、Airtable、板栗看板和Zoho Sheet等工具也提供了类似功能。以其清晰的界面和强大的数据分析能力,特别适合项目管理和进度追踪,帮助团队高效协作,达成目标。
|
开发工具
女朋友想要听歌,我反手用Flutter做了2个音乐播放器,给她拿捏了🎧
有很多小伙伴和我说,网上关于Flutter的音乐播放器资料太少了,我反手掉了10根头发给他们做了这样的音乐播放器,你就说得不得劲吧😎
女朋友想要听歌,我反手用Flutter做了2个音乐播放器,给她拿捏了🎧
|
XML Java 开发者
论面向方面的编程技术及其应用(AOP)
【11月更文挑战第2天】随着软件系统的规模和复杂度不断增加,传统的面向过程编程和面向对象编程(OOP)在应对横切关注点(如日志记录、事务管理、安全性检查等)时显得力不从心。面向方面的编程(Aspect-Oriented Programming,简称AOP)作为一种新的编程范式,通过将横切关注点与业务逻辑分离,提高了代码的可维护性、可重用性和可读性。本文首先概述了AOP的基本概念和技术原理,然后结合一个实际项目,详细阐述了在项目实践中使用AOP技术开发的具体步骤,最后分析了使用AOP的原因、开发过程中存在的问题及所使用的技术带来的实际应用效果。
373 5
|
人工智能 分布式计算 大数据
云栖实录 | MaxCompute 迈向下一代的智能云数仓
2024年云栖大会上,阿里云核心自研云原生智能数据仓库产品MaxCompute,在经过一年的深度打磨后,推出了其迈向下一代智能云数据仓的系列主题分享。此次产品发布,充分展示MaxCompute产品领先行业的云数据产品发展理念与核心优势。
1788 2
|
机器学习/深度学习 自然语言处理 vr&ar
ICML 2024:复杂组合3D场景生成,LLMs对话式3D可控生成编辑框架来了
【8月更文挑战第24天】近年来,3D内容生成技术为虚拟现实和游戏领域带来革新,但仍面临处理复杂场景和多对象交互的挑战。为此,研究者提出了Layout-guided Gaussian Splatting (LGS)框架,结合大型语言模型(LLMs)和扩散模型,实现高质量3D场景生成。LGS通过LLMs提取文本描述中的实例关系并转化为布局,再使用扩散模型和自适应几何控制技术优化3D高斯表示,生成更准确、细腻的场景。实验表明,LGS在复杂场景生成方面表现优异,但计算成本和训练时间较长,且主要针对静态场景。论文详情参见:https://arxiv.org/pdf/2402.07207
474 3
|
API Linux
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
1456 0
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)

热门文章

最新文章