首页 > 解决方案 > 如何循环压缩和复制文件

问题描述

我有一种情况,我必须阅读 gunzip 文件列表(例如:test.gztest[2020]*.gz)将它们枪压缩并将其移动到不同的文件夹(temp)。我正在使用 linux bash shell。到目前为止,我已经这样做了:

for f in *.gz
do
 gunzip $f
done

当我运行脚本时,文件被成功压缩为test.csvtest[2020].csv

之后我不知道如何将压缩文件(csv 文件)复制到“temp”文件夹。

我应该在这段代码之后打开另一个循环吗?或者我可以在一个循环中压缩并复制文件吗?

我还想在每次复制到“临时”文件夹之间暂停几分钟。

任何帮助深表感谢。

谢谢

标签: linuxshell

解决方案


从变量中删除.gz后缀并复制具有该名称的文件。

for f in *.gz
do
    gunzip "$f"
    cp "${f%.gz}" temp
    sleep 60 # sleep 1 minute
done

推荐阅读