用脚本提取一个文件夹内的某些文件,并且将文件复制到制定目录下

来源:互联网 发布:ipad淘宝hd详情打不开 编辑:程序博客网 时间:2024/05/21 08:40

最近拿到了一个会议的论文集合,可是这些论文集合里面又没有标题,我需要从中提取自己感兴趣的部分论文,一共好几百篇论文,我又不能一个个去找,所以只能自己写个脚本去找了。
首先,先用grep查找出符合条件的论文,然后把这些论文的题目提取到一个文件里面。
这里用如下命名就可以解决

grep -r "SLAM" . | cut -f 1 -d ":" > slamfiles

然后,我打开文件发现这里面还有几个中文,这我就比较尴尬了,我又得把这些中文删去,所以又找了sed命令。我这里是有“匹配到二进制文件”这八个字,然后加一个空格,所以这里我用如下去名去删除没一行的前9个字符:

sed -i 's/.........//' slamfiles

这样我就得到了只有文件名的一个文件。这就好处理了,直接用cut命令就可以了,用一个循环。具体如下:

#!/bin/bash  cat slamfiles | while read line  do          filename=`basename $line`;          echo $filename            cp $line /home/fangyu/ros/slam/$filename  done 

这样就复制到了我指定的文件夹下面了。
整个脚本代码如下:

#!/bin/bash  grep -r "SLAM" . | cut -f 1 -d ":" > slamfilessed -i 's/.........//' slamfilescat slamfiles | while read line  do          filename=`basename $line`;          echo $filename            cp $line /home/fangyu/ros/slam/$filename  done 
阅读全文
0 0