有人愿意帮助我完成Ubuntu中的这个程序吗?这个程序是:一个shell脚本,它标识了命令行中作为参数提供的模板(模式)。搜索也在档案馆中进行。对于档案,清单是分开的。提前谢谢你!
发布于 2020-05-02 21:38:53
对于Tar档案,您可以使用:
tar -Oxvf ARCHIVE_NAME 2>/dev/null | grep "Some pattern or Regex"或者搜索当前目录中的所有Tar文件:
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文件,请更改
grep -i "\.tar\."对此:
grep -i "\.tar"但是要小心,如果在文件名的中间有模式.tar,那么它可能会导致问题和几个错误,这实际上不是tar存档。
*如果希望文件的名称出现在内容的上方,请删除2>/dev/null/。
对于Zip文件:
unzip -c ARCHIVE_NAME | grep "Some pattern or regex"或者对于所有zip文件:
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对于普通档案,只需:
grep "Some pattern or regex" * -r要搜索所有文件(以及子目录中的文件),.You还可以用多个文件名替换*。
如果有人有更好的解决办法,我很高兴听到。
https://askubuntu.com/questions/1234324
复制相似问题