【发布时间】:2010-09-20 17:37:21
【问题描述】:
我想将日志文件从一个路径(源路径)移动到另一个路径(目标路径)。此源路径和目标路径存在于一个文本文件中。如::
source_path=abc/xyz
source_path=pqr/abc
desination_path=abcd/mlk
所以我读取了这个文件并将路径存储在不同的变量中。我有多个源路径,所以我将它存储在一个充当数组的变量中。如下::
sourcePaths=`grep source_path myfile |cut -d= -f2`
destPath=`grep destination_path myfile |cut -d= -f2`
我只有一个目标路径,我想移动所有这些文件。 现在我想遍历所有这些源路径,找到具有特定扩展名的日志文件,压缩这些所有文件并移动到目标路径。 我使用循环从 sourcePaths 变量中检索数据(这只是试验)。如:;
for i in $sourcePaths
do
echo $i
done
谁能帮帮我。
非常感谢您的回复,伙计们。现在我想在其中添加一些过滤器。我想从源路径中移动 10 天前的文件,并且我想在移动后从源路径中删除这些文件。请帮忙
再问一个问题!!如果我想用包含时间戳的名称存储这个 zip 文件,这样在目标路径中不会有重复的文件名。
大家好,还有一个问题。当我使用上述选项压缩文件时,它会根据其路径在 zip 文件中创建子文件夹。即。如果我从 src/int/xlog/abc 压缩日志文件,并且当我解压缩此 zip 文件时,这些新创建的 zip 文件内容会将文件记录在 src/int/xlog/abc/abc.zip 中。我不想要这个。我想要的是这个 zip 文件直接内容 abc.zip。不在子文件夹中。
嗨,伙计们,我又回来了一个问题。在这里,我可以使用下面的脚本创建 zip 的文件名作为基本路径名。例如,xyz.zip 和 abc.zip 按照我上面给定的路径使用下面的代码::
timestamp=`date +%Y%m%d_%H%M%S`
zipFile=$destPath/$(basename $sourcePath).$timestamp.zip
但现在我想创建这个文件名(即 Zip 文件名)更具体取决于它的源路径。就像我的文本文件内容一样
source_path=obj/imp/backup/logs/db1
source_path=obj/res/input/int/db2
desination_path=abcd/mlk
现在我想创建类似这样的 zip 文件名。
backup_logs_db1.zip
input_int_db2.zip
表示我想使用最后三个目录名来创建新的 zip 文件名。提供文本文件内容中的源路径多于三个目录名。
那么任何人都可以在这方面帮助我。 提前谢谢!!!
【问题讨论】: