大帝亚历山大 发表于 2014-04-14 07:35

如何实现Linux下选择性删除一些有特征的文件?

本帖最后由 大帝亚历山大 于 2014-04-14 12:36 编辑

我现在有一系列的以.pdb结尾的化学分子的文件(图1),在这一系列文件中,有些文件(图2)中是有H原子的(每一行的最后一个字母代表原子类型,原子构成分子),有些文件里面(图3)没有H原子的(该分子只有C,S,Cl原子)。可不可以编写一个程序(最好在Linux下写个shell)将列表中的不含H原子的文件删掉啊(因为有上万个分子所以手动很麻烦)?






linux_c_py_php 发表于 2014-04-14 10:17

这种任务对shell来说太普通了啊。

MMMIX 发表于 2014-04-14 10:24

回复 2# linux_c_py_php


    接下来的问题就该是怎么写啊?或者这个问题的翻译版本,你帮我写个吧。

timespace 发表于 2014-04-14 11:41

不复杂,但也不是举手之劳那么简单,楼主把一部分文件压缩上传了,让人尝试下,只是截图,大家也只好空谈了:lol

井蛙夏虫 发表于 2014-04-14 12:03

本帖最后由 井蛙夏虫 于 2014-04-14 12:05 编辑

grep -l '^HETATM.*H$' *.pdb | xargs rm

大帝亚历山大 发表于 2014-04-14 12:38

我上传了一部分列表里的分子文件,可以实现吗?我是菜鸟啊。。。回复 4# timespace


   

大帝亚历山大 发表于 2014-04-14 12:39

好的,谢谢,我试试~在Linux环境下,这个文件夹中,输入grep -l '^HETATM.*H$' *.pdb | xargs rm这个命令,是吗?回复 5# 井蛙夏虫


   

timespace 发表于 2014-04-14 12:49

回复 5# 井蛙夏虫
看楼主那些文件名格式,有些是shell特殊字符,这么rm了,小心楼主找你拼命:em02:


   

井蛙夏虫 发表于 2014-04-14 14:20

本帖最后由 井蛙夏虫 于 2014-04-14 14:21 编辑

回复 7# 大帝亚历山大
测试了一下你的文件,用下面这个
grep -l '^HETATM.*H\s*$' *.pdb | xargs -i -n 1 rm '{}'

   

井蛙夏虫 发表于 2014-04-14 15:31

回复 8# timespace
实验脚本前备份应当是习惯?
LZ的文件名还是gbk编码的


   
页: [1] 2
查看完整版本: 如何实现Linux下选择性删除一些有特征的文件?