首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >档案检索

档案检索
EN

Ask Ubuntu用户
提问于 2020-05-02 13:26:42
回答 1查看 268关注 0票数 1

有人愿意帮助我完成Ubuntu中的这个程序吗?这个程序是:一个shell脚本,它标识了命令行中作为参数提供的模板(模式)。搜索也在档案馆中进行。对于档案,清单是分开的。提前谢谢你!

EN

回答 1

Ask Ubuntu用户

发布于 2020-05-02 21:38:53

对于Tar档案,您可以使用:

代码语言:javascript
复制
tar -Oxvf ARCHIVE_NAME 2>/dev/null | grep "Some pattern or Regex"

或者搜索当前目录中的所有Tar文件:

代码语言:javascript
复制
list=`find . | grep -i "\.tar\." | xargs`


IFS=" " read -ra array <<< $list

for i in "${array[@]}"
do
    tar -Oxvf  $i 2>/dev/null | grep "Some pattern or Regex"
done

*重要注意事项:如果有只具有.tar扩展名的tar文件,请更改

代码语言:javascript
复制
grep -i "\.tar\."

对此:

代码语言:javascript
复制
grep -i "\.tar"

但是要小心,如果在文件名的中间有模式.tar,那么它可能会导致问题和几个错误,这实际上不是tar存档。

*如果希望文件的名称出现在内容的上方,请删除2>/dev/null/

对于Zip文件:

代码语言:javascript
复制
unzip -c ARCHIVE_NAME | grep "Some pattern or regex"

或者对于所有zip文件:

代码语言:javascript
复制
list=`find . | grep -i "\.zip" | xargs`


IFS=" " read -ra array <<< $list

for i in "${array[@]}"
do
    unzip -c  $i | grep "Some pattern or Regex"
done

对于普通档案,只需:

代码语言:javascript
复制
grep "Some pattern or regex" * -r

要搜索所有文件(以及子目录中的文件),.You还可以用多个文件名替换*

如果有人有更好的解决办法,我很高兴听到。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1234324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档