Bash 如何使用“查找”绑定文件
我正在努力完成这项任务: 编写一个脚本,将目录(路径)名称和 基本文件名(如“.”、*.txt”等)。脚本应搜索 给定目录树,查找与给定文件名匹配的所有文件,然后 将它们打包成一个文件。将给定文件作为脚本执行 应该返回原始文件 有人能帮我吗 首先,我试着这样做查找部分:Bash 如何使用“查找”绑定文件,bash,find,bundle,Bash,Find,Bundle,我正在努力完成这项任务: 编写一个脚本,将目录(路径)名称和 基本文件名(如“.”、*.txt”等)。脚本应搜索 给定目录树,查找与给定文件名匹配的所有文件,然后 将它们打包成一个文件。将给定文件作为脚本执行 应该返回原始文件 有人能帮我吗 首先,我试着这样做查找部分: #!/bin/bash filebase=$2 path=$1 find $path \( -name $base \) 然后我找到了这个包的代码,但我不知道如何组合它们 for i in $@; do echo "ec
#!/bin/bash
filebase=$2
path=$1
find $path \( -name $base \)
然后我找到了这个包的代码,但我不知道如何组合它们
for i in $@; do
echo "echo unpacking file $i"
echo "cat > $i <<EOF"
cat $i
echo "EOF"
done
$@中i的;做
echo“echo解包文件$i”
echo“cat>$i继续tripleee的评论您可以使用shar
生成自解压存档。
您可以获取find
的输出并将其传递给shar
,以生成归档文件
#!/bin/bash
path="$1"
filebase="$2"
archive="$3"
find "$path" -type f -name "$filebase" | xargs shar > "$archive"
传递到find
的-type f
选项将限制对文件的搜索(即排除目录),这似乎是一个必需的限制
如果上面的脚本称为archive\u script.sh
,并且是可执行的,那么您可以如下所示调用它,例如:
./archive_script.sh /etc '*.txt' etc-text.shar
这将为/etc中的所有.txt文件创建一个shar
存档。您是否查看了此内容:欢迎使用Stackoverflow。请编辑您的帖子以显示您尝试过的内容。您做了哪些研究?您编写了哪些脚本以及它给出了哪些错误消息?另请参阅