当前位置:  技术问答>linux和unix

一个简单的shell,文件名的比较

    来源: 互联网  发布时间:2017-01-15

    本文导语:  本帖最后由 louxuansky 于 2011-11-11 16:59:31 编辑 我这里有2个文件夹,里面有很多文件,a文件夹里的文件类型是20111111XXXXXX-00000000-XXXXXXX-XXXXXX.dat.Tdat,b文件夹的文件名是20111111XXXXXX-XXXXXXXX-XXXXXXX-00000000.Tdat,就是a文件夹中的第...

本帖最后由 louxuansky 于 2011-11-11 16:59:31 编辑
我这里有2个文件夹,里面有很多文件,a文件夹里的文件类型是20111111XXXXXX-00000000-XXXXXXX-XXXXXX.dat.Tdat,b文件夹的文件名是20111111XXXXXX-XXXXXXXX-XXXXXXX-00000000.Tdat,就是a文件夹中的第二的字段和b文件夹中的第四个字段对应,如果两个字段相同,就在TXT文件里输出这两个文件,a,b文件夹都有很多文件,请问怎么写这个shell,刚学习,请各位大大帮帮忙!比较急,坐等了

|

首先遍历目录a中的文件,将目录a中的所有文件以第二个字段为索引存储在一个数组中,然后再遍历目录b中的所有文件,以第四个字段为索引判断是否为空,若非空,即代表和目录a中的文件对应,然后分别打印出两个目录下的文件。

|
awk就可以,遍历文件1的时候存储一个数组a[第二个字段]=20111111XXXXXX-00000000-XXXXXXX-XXXXXX.dat.Tdat

遍历文件2的时候检查a[第4个字段]是否为空就可以了。

 ARGIND      The index in ARGV of the current file being processed.

这个变量会帮助你。
owenliang@linux-7lsl:~/csdn/shell> ./file.sh file1 file2
20111111XXXXXX-00000000-XXXXXXX-XXXXXX.dat.Tdat 20111111XXXXXX-XXXXXXXX-XXXXXXX-00000000.Tdat
owenliang@linux-7lsl:~/csdn/shell> cat file.sh
#!/bin/bash

awk -F "-" 'ARGIND==1{ a[$2]=$0;} ARGIND==2{ str=gensub("([^.]*).Tdat","\1","g",$4); if(a[str]!=""){print a[str]"t"$0;} }' "$1" "$2"


    
 
 

您可能感兴趣的文章:

  • shell 按当前时间作为文件名建立文件夹
  • 我想写一个shell脚本 把当前文件夹下的所有文件名改名
  • 如何删除目录中文件名小于某个字符串的所有文件 shell
  • [求助]一个shell查询文件名的问题
  • 怎么用shell创建连续文件名的文件??
  • Shell获取文件的文件名和扩展名的例子
  • shell,如何遍历出指定位置包含指定字符串的文件名?
  • 如何写shell脚本 把文件移到文件名对应的文件夹
  • 怎么用shell把文件名中一些字符去掉
  • 在shell下,如何获得一个目录下的文件名?
  • 在C SHELL中,如何判断在某一指定目录下是否有已知文件名存在?
  • shell 获取解压后的文件名
  • 求一个批量改文件名的shell,谢谢。
  • 如何用shell获取linux目录下的文件名呢?
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • 如何用shell脚本实现根据当前文件名生成新文件
  • SHELL脚本修改文件名移动到指定文件夹
  • Linux shell script输出文件名
  • shell创建一个带参数的文件名,这个参数怎么不显示出来backup$BDATE.dump
  • 新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5
  • 谁有linux shell编程方面比较好的语法资料哦?
  • 请教shell的问题,比较难。
  • 求一个shell脚本..如何比较web页面的大小?
  • shell程序里如何比较日期大小
  • 一个shell的比较大小问题
  • bash和Korn shell学哪个比较好
  • shell中如何比较 路径 字符串?
  • shell 比较两个文件
  • shell命令 比较文件的第一行
  • 请问shell里面有什么方法可以比较2个固定格式文件里面的某个域
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • Centos6下安装Shell下文件上传下载rz,sz命令 iis7站长之家
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 在调用shell的程序文件时,怎样才能使编译后的可执行文件运行,象在shell状态下那样直接用咋不行呢?
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 在shell命令行中敲一个可执行文件,起一个进程pc,这个进程属于shell进程
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • 请教:shell遍历文件夹,处理其中的文件。
  • 急!如何从一个shell文件中传递一个参数到sql文件中,不能用存储过程
  • shell脚本剪切文件文件,并生成新文件的问题
  • 请问如何用shell脚本将一个文本文件的某几行输入到另一个文件中。
  • 求一个shell脚本 统计文件数目并删除一些文件
  • 合并一个文件夹下多个文件内容的单行shell命令
  • 跪求一个按指定日期搜索文件,并把搜索到的文件复制到自定义的目录下的shell程序
  • shell下用什么命令拷贝整个文件夹到另外一个文件夹?
  • shell 如何查找出 指定目录下所有文件(含文件夹)的里面 指定字符串
  • 通过shell解析文件,并根据解析内容生成新的文件。
  • shell文件中第一行为#!/bin/bash ,运行后提示“:bad interpreter 没有那个文件或目录”是什么错误?怎么修改?
  • linux bash shell命令:grep文本搜索工具简介
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3