我正在尝试重命名日志文件并将它们 tar 为“tar.gz”,我以以下命令结束,但它没有从 STDIN(mv 命令的输出)获得重命名的文件名,它导致tar
命令创建空文件,
find -type f -name "logs*" -exec bash -c ' \
mv "$0" "$0_$(date -r "$0" +"%Y%m%d%H%M%S")"| \
xargs tar -czf "$0_$(date -r "$0" +"%Y%m%d%H%M%S")".tar.gz --null -T -
' "{}" \;
如何使用上述命令修改后的重命名文件或有其他方法(在 bash shell 中)?谢谢
如果要为
.tar.gz
find 收集的每个日志文件创建一个单独的文件,则无需使用xargs
.tar
您可以将每个文件的带日期附加名称保存到变量(在本例中为 f)并在命令中重用新名称。这也将保留您重命名的文件。