当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-15 16:36 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
有两个文档,
AbbNew.txt 每一行的字符用$i表示
FullName.txt 每一行的字符用$j表示
都是字符,

要求最后输出一个文档,具有这样的结构:
@string{$i = {$j}}


我是在建立自己的bibtex数据库,用到期刊的缩写名称对应关系...


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-15 16:55 

注册: 2008-11-01 21:42
帖子: 1028
地址: 树下板凳
送出感谢: 0 次
接收感谢: 1
贴一段出来吧 ,直观一点不容易理解错 ,lz的要求,我会考虑用excel搞定


_________________
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-15 17:05 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
AbbNew.txt 内容如下:
[abbott@master temp]$ head -15 AbbNew.txt
Acc. Chem. Res.
ACS Chem. Biol.
ACS Symp. Ser.
Acta Biochim. Pol.
Acta Chim. Slov.
Acta Crystallogr., Sect. A: Found. Crystallogr.
Acta Crystallogr., Sect. D: Biol. Crystallogr.
Acta Crystallogr., Sect. E: Struct. Rep. Online
Acta Crystallogr., Sect. F: Struct. Biol. Cryst. Commun.
Acta Mater.
Acta Pharm. (Zagreb, Croatia)
Acta Pharmacol. Sin.
Acta Phys. Pol. B Proc. Suppl.
Acta Phys. Pol., A
Acta Phys. Pol., B

FullName.txt如下(前15行)
[abbott@master temp]$ head -15 FullNames.txt
Accounts of Chemical Research
ACS Chemical Biology
ACS Symposium Series
Acta Biochimica Polonica
Acta Chimica Slovenica
Acta Crystallographica, Section A: Foundations of Crystallography
Acta Crystallographica, Section E: Structure Reports Online
Acta Crystallographica, Section F: Structural Biology and Crystallization
Acta Materialia
Acta Pharmaceutica (Zagreb, Croatia)
Acta Pharmacologica Sinica
Acta Physica Polonica B Proceedings Supplement
Acta Physica Polonica, A
Acta Physica Polonica, B
Acta Physiologica


原文数白行.....

最后的文档格式:
@string{Acc. Chem. Res. = {Accounts of Chemical Research}}
@string{ACS Chem. Biol. = {ACS Chemical Biology}}
......

由于太麻烦了,我之给出了最后结果的前两行......


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 9:55 

注册: 2008-11-01 21:42
帖子: 1028
地址: 树下板凳
送出感谢: 0 次
接收感谢: 1
应该有很简单的方法,期待高人给出,我使用的方法很直观,但显得罗嗦,能够处理
代码:
#!/bin/bash
if [ $# -ne 2 ] ; then
        echo "输入两个文件以便处理!"
        exit 66
fi
line_a=$(wc -l $1 |grep -o "[0-9]*")
line_b=$(wc -l $2 |grep -o "[0-9]*")
echo "文件1行数:$line_a     文件2行数: $line_b"
if [ $line_a -gt $line_b ] ; then
        line=$line_b
else
        line=$line_a
fi
echo "合并行数:$line"

cat /dev/null > outfile.txt

for var in $(seq $line) ;do
        a=$(sed -n "${var}p" $1)
        b=$(sed -n "${var}p" $2)
        echo "@string{${a}={${b}}}" >>outfile.txt
done

exit 0

使用方法 XXX.sh AbbNew.txt FullName.txt
生成文件在outfile.txt(你先确保你文件下面没这个文件,否则删了不负责)
象这种整列文本处理用excel处理起来也很方便,我原来这么搞过


_________________
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 10:13 
头像

注册: 2007-10-19 14:51
帖子: 4953
地址: 深圳
送出感谢: 0 次
接收感谢: 2
代码:
awk 'NR==FNR{a[FNR]=$0} NR>FNR {print "@string{"a[FNR]" = {"$0"}}"}' AbbNew.txt FullNames.txt


_________________
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 10:14 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
咱们的做法比较类似.....

#! /bin/bash

AbbFile=Abb_Z.txt
FullFill=FullName_Z.txt
lines=` cat $AbbFile | wc -l `
rm -fr /home/abbott/BibTex/temp/Result.txt

let i=1

for (( num=1; num<=$lines; num++ ))

do
AbbName=`sed -n "$num"p $AbbFile `
FullName=`sed -n "$num"p $FullFill `
let i=$i+1
echo @string{$AbbName = {$FullName}} >> Result.txt
done

处理结果还比较满意.....
目前没想到其他的方法.....

两个文档,在处理之前,我已经给搞成Line相同的了.....


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 10:17 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
yaoms 写道:
代码:
awk 'NR==FNR{a[FNR]=$0} NR>FNR {print "@string{"a[FNR]" = {"$0"}}"}' AbbNew.txt FullNames.txt



这个太强了.....


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 10:23 

注册: 2008-11-01 21:42
帖子: 1028
地址: 树下板凳
送出感谢: 0 次
接收感谢: 1
文本处理这一块,只有更强,没有最好
学的东西多着呢 ,光grep sed awk3条命令就够学好久的
强大的awk
学习了


_________________
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 13:22 

注册: 2009-08-13 12:11
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
如果只是连接在一起,可以用pasted吧。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求助 一个文档处理问题 合并文档类
帖子发表于 : 2009-09-16 13:31 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
paste 可能是我格式控制有问题,
不能保证要求的格式....


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译