Chinaunix首页 | 论坛 | 博客
  • 博客访问: 531963
  • 博文数量: 119
  • 博客积分: 3167
  • 博客等级: 中校
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-20 21:21
文章分类

全部博文(119)

文章存档

2015年(21)

2012年(4)

2011年(1)

2007年(11)

2006年(50)

2005年(32)

分类:

2006-04-12 01:28:41

 晚上回答论坛里个 问题  ,  觉得有点作用 记录一下
问题:
请问如何用diff和实现如下功能,我试了下,不好用!
我在home/aa 目录下操作,aa目录下有许多文件譬如a,b,c...,同样在home/bb目录下,也有可能有a,b,c....文件,我想判断下aa目录下a文件是否在home/bb下存在,如果存在,删掉home/aa下的该文件,并把home/aa下被删掉的文件名保存到一个txt文件中
 
 
#!/bin/bash
ls aa > a.txt
ls bb > b.txt

# print the files only in aa , and save the file name to arrary only_in_aa
only_in_aa=(`diff -P aa bb | awk '{print $NF}'`)

str=`echo ${only_in_aa[@]} | tr ' ' '|'`

# print the files in aa same with in bb
cat a.txt | grep -Ev "$str" > same_with_bb

# if you want to delete the files in aa same with bb
for i in `cat a.txt | grep -Ev "$str"`
do
        rm -f ./aa/$i
done
阅读(3081) | 评论(0) | 转发(0) |
0

上一篇:Zend Optimizer安装

下一篇:perl 练习1

给主人留下些什么吧!~~