shell脚本 文件合并 - 字符串处理

发布时间:2017-3-28 8:30:30 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"shell脚本 文件合并 - 字符串处理",主要涉及到shell脚本 文件合并 - 字符串处理方面的内容,对于shell脚本 文件合并 - 字符串处理感兴趣的同学可以参考一下。

1.有两个文件,每个文件中有一列,把这两个文件中的列合并到一个文件中形成两列 普通shell脚本: paste -d "\t" eng.txt chi.txt awk: awk 'NR==FNR{a[i]=$0;i++}NR>FNR{print a[j]" "$0;j++}' eng.txt chi.txt   文件内容如下: more eng.txt chi.txt  :::::::::::::: eng.txt :::::::::::::: semicolon comma delimiter spacebar hyphen single quote double quote :::::::::::::: chi.txt :::::::::::::: 分号 逗号 定界符 空格键 连字符号 单引号 双引号 方法1、paste -d "\t" eng.txt chi.txt  semicolon       分号 comma   逗号 delimiter       定界符 spacebar        空格键 hyphen  连字符号 single quote    单引号 double quote    双引号 方法2、或者使用awk来处理 awk 'NR==FNR{a[i]=$0;i++}NR>FNR{print a[j]" "$0;j++}' eng.txt chi.txt  semicolon 分号 comma 逗号 delimiter 定界符 spacebar 空格键 hyphen 连字符号 single quote 单引号 double quote 双引号 hash 井号 2. 字符串操作 Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.hao.com/123.htm   2.1 # 号截取,删除左边字符,保留右边字符。   echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.hao.com/123.htm   2,2 ## 号截取,删除左边字符,保留右边字符。 echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 http://www.hao.com/           结果是 123.htm   2.3 %号截取,删除右边字符,保留左边字符 echo ${var%/*} %/* 表示从右边开始,删除第一个 / 号及右边的字符 结果是:http://www.hao.com 2.4 %% 号截取,删除右边字符,保留左边字符 echo ${var%%/*} %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符 结果是:http:   2.5 从左边第几个字符开始,及字符的个数 echo ${var:0:5}   其中的 0 表示左边第一个字符开始,5 表示字符的总个数。 结果是:http: 2.6 从左边第几个字符开始,一直到结束。 echo ${var:7} 其中的 7 表示左边第8个字符开始,一直到结束。 结果是 :www.hao.com/123.htm . .   2.7 从右边第几个字符开始,及字符的个数 echo ${var:0-7:3}   其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。 结果是:123 . .   2.8 从右边第几个字符开始,一直到结束。 echo ${var:0-7} 表示从右边第七个字符开始,一直到结束。 结果是:123.htm 。 。 注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示) 3. 按相同列合并两个文件  Join    这里有两个文件file1和file2,当然已经分类。每个文件里都有一 些元素与另一个文件相关。由于这种关系, join将两个文件连在一起,这有点像修改一个主文 件,使之包含两个文件里的共同元素。文本文件中的域通常由空格或tab键分隔,但如果愿意,可以指定其他的域分隔符。 文件names: M.Golls 12 Hidd Rd P.Heller The Acre P.Willey 132 the Grove T.Norms 84 Connaught Rd K.Fletch 12 Woodlea 文件towm: M.Golls Norwich NRD P.Willey Galashiels GDD T.Norms Brandon BSL K.Fletch Mildenhall MAF kkkkkkkkkkkkkk [email protected]:~/code/shell/sort$ join names towm  M.Golls 12 Hidd Rd Norwich NRD P.Willey 132 the Grove Galashiels GDD T.Norms 84 Connaught Rd Brandon BSL K.Fletch 12 Woodlea Mildenhall MAF 合并两个文件。默认的是按照第一域进行合并。

上一篇:Python 在一个函数中通过传参数,调用其他函数
下一篇:版本控制详细说明

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款