Bash 在tgz中的所有文件中搜索文本
Unix脚本 创建一个Unix脚本,它可以执行以下操作: 1在tgz中的所有文件中搜索文本 2在tgz中的所有文件中搜索文件名 并创建包含结果的单独存档文件 脚本应能够在以下参数表中显示:Bash 在tgz中的所有文件中搜索文本,bash,unix,scripting,sh,Bash,Unix,Scripting,Sh,Unix脚本 创建一个Unix脚本,它可以执行以下操作: 1在tgz中的所有文件中搜索文本 2在tgz中的所有文件中搜索文件名 并创建包含结果的单独存档文件 脚本应能够在以下参数表中显示: scriptname ""text"" ""file.tgz"" ""user"" 输出在/var/tmp/user/result\uUtime].tgz中 结果文件应包含所有包含所提供文本的文件 scriptname ""FileName"" ""file.tgz"" ""user"" 在/var/tm
scriptname ""text"" ""file.tgz"" ""user""
输出在/var/tmp/user/result\uUtime].tgz中
结果文件应包含所有包含所提供文本的文件
scriptname ""FileName"" ""file.tgz"" ""user""
在/var/tmp/user/result{time}.tgz中输出
结果tgz应具有与名称匹配的所有文件,以便开始:
$ cat foo.txt # two test files
foo
baz
$ cat bar.txt
bar
baz
$ tar czvf test.tar.gz *.txt # tar and gzip them
$ mkdir temp # working dir
$ cd temp # work in it
用于在tgz test.tar.gz中的所有文件中搜索文本foo的脚本
你有没有尝试过什么,或者你是想雇佣一个编码员?我知道搜索文本和文件,但我对shell脚本是新手,所以我需要一种方法如何开始。我如何从用户等处获取输入谢谢您的帮助我将在$tar tzf test.tar.gz中处理此问题并向您通报您也可以为我做的程序;do tar xzOf test.tar.gz$i | grep-1 foo>/dev/null&&echo$i;完成并避免弄乱IFS,创建文件和后续rm。使用-O-to-stdout选项将文件内容传输到grep
$ OIFS=$IFS
$ IFS=$'\n' # handle space in filenames
$ for i in $(tar tzf ../test.tar.gz) # list files in the tar and for loop them
do
tar xzf ../test.tar.gz "$i" # extract each file individually
grep -l foo "$i" # grep for string foo in each file
rm -f $i # rm extracted file
done
foo.txt # the output
$ IFS=$OIFS