Unix Scripting
创建一个可以执行以下操作的Unix脚本:
1)搜索tgz中所有文件中的文本
2)在tgz的所有文件中搜索FileName
并创建一个包含结果的单独存档文件。“
脚本应该能够在params下面列出:
scriptname ""text"" ""file.tgz"" ""user""
输出/var/tmp/user/result_[time].tgz
结果文件应包含所有提供文本的文件。
scriptname ""FileName"" ""file.tgz"" ""user""
输出/var/tmp/user/result_{time}.tgz
结果tgz应该包含与名称“
答案 0 :(得分:1)
为了帮助您入门:
$ 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 (foo
)中的所有文件中搜索文本(test.tar.gz
)的脚本。
$ 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