Bash 如何使用“查找”绑定文件

Bash 如何使用“查找”绑定文件,bash,find,bundle,Bash,Find,Bundle,我正在努力完成这项任务: 编写一个脚本,将目录(路径)名称和 基本文件名(如“.”、*.txt”等)。脚本应搜索 给定目录树,查找与给定文件名匹配的所有文件,然后 将它们打包成一个文件。将给定文件作为脚本执行 应该返回原始文件 有人能帮我吗 首先,我试着这样做查找部分: #!/bin/bash filebase=$2 path=$1 find $path \( -name $base \) 然后我找到了这个包的代码,但我不知道如何组合它们 for i in $@; do echo "ec

我正在努力完成这项任务:

编写一个脚本,将目录(路径)名称和 基本文件名(如“.”、*.txt”等)。脚本应搜索 给定目录树,查找与给定文件名匹配的所有文件,然后 将它们打包成一个文件。将给定文件作为脚本执行 应该返回原始文件

有人能帮我吗

首先,我试着这样做查找部分:

#!/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。请编辑您的帖子以显示您尝试过的内容。您做了哪些研究?您编写了哪些脚本以及它给出了哪些错误消息?另请参阅