gpt4 book ai didi

backup - zcat 一个文件,根据原文件名将其内容输出到另一个文件

转载 作者:行者123 更新时间:2023-12-05 02:23:57 29 4
gpt4 key购买 nike

我想在 Linux 中创建一个 bash/perl 脚本,它将根据文件名恢复 .gz 文件:

_path_to_file.txt.gz
_path_to_another_file.conf.gz

下划线构成目录结构的地方..所以上面的两个是:

/path/to/file.txt
/path/to/another/file.conf

这些都在/backup/目录下..

我想编写一个脚本,通过将 _ 更改为/以找到正确的路径,将每个 .gz 文件分类到正确的位置 - 这样 _path_to_another_file.conf.gz 的内容就会替换/path/to 中的文本/另一个/文件.conf

zcat _path_to_another_file.conf.gz > /path/to/another/file.conf

我首先创建了一个包含正确目标文件名的文件。我可以创建另一个文件来列出其中的原始文件名并让脚本逐行执行吗?

ls /backup/ |grep .gz > /backup/backup_files && sed -i 's,_,\/,g' /backup/backup_files && cat /backup/backup_files

你觉得呢?

最佳答案

这是一个 Bash 脚本,可以执行您想要的操作:

#!/bin/bash
for f in *.gz; do
n=$(echo $f | tr _ /)
zcat $f > ${n%.*}
done

它遍历所有以 .gz 结尾的文件,并将它们提取到由其文件名表示的路径中,其中 _ 替换为 /

关于backup - zcat 一个文件,根据原文件名将其内容输出到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494617/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com