用 shell 语言提取文件中的信息到另一个文件夹中
查找具有特定后缀的文件
#!/bin/sh
# find the pdb files at current files.
for i in `ls ./*.pdb`
doecho $i
done
提取文件中某个字符以及下面几行
提取文件中的文字
以前讲过,用grep 或者 gawk 都可以
grep的常用手法:
#!/bin/sh
grep "要提取的字符" *.txt #提取该文件所有含有该字符的行
grep -i "要提取的字符" *.txt #提取该文件所有含有该字符的行,不分大小写
grep -b "要提取的字符" *.txt #提取该文件所有含有该字符的行,并且输出行号
grep -c "要提取的字符" *.txt #汇总该文件出现这个关键词的行数的总数
grep "要提取的字符" -A n *.txt #输出该文件出现这个的关键词以及后面的n-1行
gawk 的常用用法
#!/bin/shell
$absloading_mol_kg=`gawk '/Key Word \\[abc\\]/{printf \$6"\t"\$8"\t"}' '$file'`; #在 / /里面的特殊字符前面加两个\
如果有一个pdb 文件如下面所示
ZIF-71-CO2.pdb
MODEL 1
CRYST1 57.108 57.108 57.108 90.00 90.00 90.00
ATOM 1 O MOL 50.197 48.600 21.348 1.00 0.00 O
ATOM 2 C MOL 50.225 49.572 20.715 1.00 0.00 C
ATOM 3 O MOL 50.253 50.543 20.081 1.00 0.00 O
ENDMDL
MODEL 2
CRYST1 57.108 57.108 57.108 90.00 90.00 90.00
ATOM 1 O MOL 34.734 36.712 21.711 1.00 0.00 O
ATOM 2 C MOL 35.775 36.202 21.665 1.00 0.00 C
ATOM 3 O MOL 36.815 35.692 21.620 1.00 0.00 O
ENDMDL
将每个model 都分开写然后放入多个文件中
#!/bin/shell
for file in `ls *.pdb`dofor cnt in "'MODEL 1'" "'MODEL 2'"do# grep 'MODEL 1'" -A 5 a.pdb > a-site-1.pdbecho "grep $cnt -A 5 $file > ${file%*.pdb}-site-${cnt:0-2:1}.pdb"done
done
其中 ${file%*str} 的用法在之前的帖子上有说过
今天就总结到这里
#!/bin/shfor i in `ls *K.pdb`
doecho $ifor cnt in "'MODEL 1'" "'MODEL 2'" "'MODEL 3'" "'MODEL 4'" "'MODEL 5'" "'MODEL 6'" "'MODEL 7'" "'MODEL 8'" "'MODEL 9'" # for cnt in "'MODEL 10'" "'MODEL 11'" "'MODEL 12'" "'MODEL 13'" "'MODEL 14'" "'MODEL 15'" "'MODEL 16'" "'MODEL 17'" "'MODEL 18'" "'MODEL 19'" "'MODEL 20'"do# echo "grep $cnt -A 5 $i > ${i%*.pdb}-${cnt:0-3:2}.pdb"echo "grep $cnt -A 5 $i > ${i%*.pdb}-${cnt:0-2:1}.pdb"done
done
用 shell 语言提取文件中的信息到另一个文件夹中相关推荐
- Excel VBA 循环读取一个目录下面多个文件的内容,放到另外一个文件中
循环读取一个目录下面多个文件的内容,放到另外一个文件中 Public Sub getInputInfo()On Error GoTo errl'OUT対象ファイル開くDim wbOut As Work ...
- Java 将文件的内容复制到另一个文件
java将一个文件的内容复制到另一个文件. 使用BufferedWriter类的read和write方法将一个文件的内容复制到另一个文件. 完整代码 import java.io.*;public c ...
- jquery 文件上传 触发两次_点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果上传了3个文件,即发生了三次请求...
点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果页面上出现了3个文件,也就是上传了3个文件 我点击input,不选择任何文件,然后取消文件选择器的窗口,然后第二次次点击input ...
- java把一个文件的内容复制到另外一个文件
/** * java把一个文件的内容复制到另外一个文件 */ import java.io.File; import java.io.FileInputStream; import java.io ...
- ip地址转换数字函数 iton_c# – RabbitMQ CreateConneciton问题 – 在一个应用程序中运行,但在另一个应用程序中运行...
所以这是连接代码. var factory = new ConnectionFactory { HostName = "myserver", UserName = "te ...
- 计算机文件管理没有桌面,电脑文件杂乱无章?可能你需要一个文件管理系统
原标题:电脑文件杂乱无章?可能你需要一个文件管理系统 作为一个效率人士,除了需要学会时间管理,我们还要时刻管理好我们的工具,电脑是很重要的工具,工作生活学习都会用到电脑. 虽然现在手机已经很强大,但很 ...
- R语言提取韦恩图交集信息
背景 最近看"生信技能树"R语言相关教程,发现对于常见的韦恩图操作中,有这样的一个需求:不仅需要得到venn图还希望提取交集的元素信息.联想到之前自己项目中有这一部分,故整理. V ...
- C语言给文件添加备注信息,windows 系统给文件添加备注(FileMetadata下载及使用教程)...
windows 系统给文件添加备注,网上说的都是使用软件 FileMeta,但原理和教程说的不清楚,我就整理下. 原理及步骤 Windows的文件信息自带备注功能,备注可查看可编辑. 但Windows ...
- jdbc链接mysql的第二个例子。使用properties文件存放连接信息。使用jar文件一个
该例子将jdbc的链接信息封装到properties文件中.并将jdbc的基本使用框架提取到一个jdbcUtils类中.简化了jdbc操作数据库的操作. JdbcUtil工具类: package co ...
最新文章
- 数据库设计的酸(ACID)碱(BASE)原则
- activiti7流程设计器_变频空调器通信电路
- arm服务器centos下安装mysql_Centos下服务器版本安装mysql
- 指纹识别开源竞赛启动,5000张指纹图像匹配
- svn is already locked解决办法
- eclipse中快捷搜索文件快捷键
- 敢问多任务学习优化算法路在何方?|附代码
- 常见的几种数组排序方法
- netdraw 根据度调整节点尺寸
- 计算机文化起源于,计算机文化.pps
- web work 。。。
- 校园招聘之Offer、三方协议、两方协议、劳动合同都是什么?怎样避免被坑?...
- 2021年华数杯数学建模B题进出口公司的货物装运策略求解全过程文档及程序
- mysql 错误码1236_【MySql】MySQL Replication Fatal Error 1236
- 一类形容词(形容词)和二类形容词(形容动词)的区别
- 程序员吐槽:凭什么产品经理工资比我高?网友评论炸了!
- 多媒体会议室设备配置单
- UE4 物理碰撞(C++)
- 敏捷转型——团队如何变敏捷?
- EasyRecovery16电脑硬盘数据恢复软件功能讲解
热门文章
- Cesium案例解析(四)——3DModels模型加载
- cyclone v QSPI烧写问题(not able to map flash id)
- 如何使用 ChatGPT (人工智能聊天机器人) 运行 Docker 容器
- 计算机二级C语言100套题
- 打开展讯日志采集界面-YlogActivity
- BZOJ2844:albus就是要第一个出场——题解
- Windows Update被管理员禁用怎么解决
- mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...
- cindy java_Cindy User Guide
- 全球与中国新一代高级电池市场深度研究分析报告