问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一段linux shell 的删除文件命令

发布网友 发布时间:2022-04-25 21:12

我来回答

3个回答

热心网友 时间:2022-06-17 13:43

这个可以这样做,用awk将命令用sprintf组织好再通过system交给shell
cat filenames.txt|awk '{cmd=sprintf("if [ -e %s ];then rm %s;fi",$0,$0);system(cmd)}'
额,这个是文件匹配的删除。

文件匹配的不删除,这个处于安全考虑你要加写*条件,我试着写了个不管那么多的
#!/bin/bash
ls ./forrm/> linshi
cat filenames.txt | awk '{cmd=sprintf("sed -i 's/%s//' linshi",$0);system(cmd)}'
x="`cat linshi`"
cd ./forrm
rm $x
cd ..
rm linshi
总之就是比如是针对./forrm文件夹下的文件,先把列出的文件存在个临时文件里(这里不考虑重名什么的),再通过你的filenames.txt把不删的都去掉。最后剩下的删掉,删掉临时文件
额,看着感觉有点蹩脚,不过可以实现

或者把要删的目录下的东西跟要匹配的文件里的东西分别放在两个数组里面,像这样
#!/bin/bash
if [ $# -ge 2 ];
then
directory=$1
filenames=$2
else
exit;
fi
arr1=("`ls $directory`")
arr2=("`cat $filenames`")

cur="`pwd`"
cd $directory
for i in $arr1
do
for j in $arr2
do
if [ "$j" = "$i" ];then
continue 2;
fi
done
rm $i
done

cd $cur
也可以

热心网友 时间:2022-06-17 13:43

#!/bin/bash
if [ $# -ge 2 ];
then
directory=$1
filenames=$2
fi
list=`ls $directory`
function demo()
{
file=$1
content=`cat $filenames`
for line in $content
do
if [ "$line" == "$file" ];
then
return
fi
done
rm $file
}
for filename in $list
do
cd $directory
if [ -f $filename ];
then
demo $filename
fi
done

热心网友 时间:2022-06-17 13:44

这个很好解决, 就是shell编程的了!
如果想学习更多的shell程序, 就找下me了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 用for循环编写删除文件的shell脚本 如何用shell脚本删除文件中的空行 shell 删除文件夹下的指定文件 Linux shell删除文件 shell脚本怎么在文件夹内删除最老的那个文件 shell 删除文件 苏州有什么好吃的特产可以让我带回去的,求推荐 带几个苏州特产回家吧,送长辈,送亲友,送孩子 这个发货了吗?为什么一直没有物流信息 我就想知道发货了没有? 淘宝显示卖家已发货 但是没有物流信息是怎么回事 淘宝网卖家点发货了没有发出怎么办 我的商品发货了没有?什么时候能到 怎么获取一个AlertDialog中的EditText中输入的内容 这是发货了还是没有发货啊? 如何获取edittext中输入的内容在一个Activ 淘宝卖家显示发货可是没物流信息 是到底发货了么 我在淘宝里买东西怎么知道他给我发货了没有 eclipse获取EditText的内容 发货了没有物流情况,在快递官网是不是查不到快递的? 用shell命令怎样批量删除文件的后缀名 用shell脚本中删除某文件夹下的七天之前生成的文件夹 shell脚本中删除某一类文件,但又不删除某个特定的,可有简单方法 win10韩语输入法!!求大神帮忙! win10系统韩语输入法仅桌面 win10 韩文输入法 自带的不可用 为什么电脑设置韩语输入法用不了 为什么我的win10韩语输入法没有가按了alt也没用……求大神帮忙解决 win10系统设置韩语输入法之后无法打出韩语 win10韩语输入法无法输入 只能输入英文 关于表白的 如果注销了,公安局还能查到这个人的电话和资料吗 芝麻渣可以直接当肥料 芝麻能当肥料吗? 过期黑芝麻怎样做花肥? 黄豆,芝麻可以当肥料吗 芝麻饼如何做肥料? 芝麻炒熟了能当植物肥料用吗 熟芝麻做花肥都适应什么花 芝麻做肥料对樱桃有什么好处? 芝麻饼肥料如何使用