linux - 如何循环压缩和复制文件
问题描述
我有一种情况,我必须阅读 gunzip 文件列表(例如:test.gz,test[2020]*.gz)将它们枪压缩并将其移动到不同的文件夹(temp)。我正在使用 linux bash shell。到目前为止,我已经这样做了:
for f in *.gz
do
gunzip $f
done
当我运行脚本时,文件被成功压缩为test.csv,test[2020].csv。
之后我不知道如何将压缩文件(csv 文件)复制到“temp”文件夹。
我应该在这段代码之后打开另一个循环吗?或者我可以在一个循环中压缩并复制文件吗?
我还想在每次复制到“临时”文件夹之间暂停几分钟。
任何帮助深表感谢。
谢谢
解决方案
从变量中删除.gz
后缀并复制具有该名称的文件。
for f in *.gz
do
gunzip "$f"
cp "${f%.gz}" temp
sleep 60 # sleep 1 minute
done
推荐阅读
- google-colaboratory - 在 Google Colab 中输入时如何切换插入/替换模式?
- c - 使用 pycparser 编辑 C 函数声明
- python - python文本RPG的exp系统
- python - 添加和减去纪元时间的最佳方法?
- r - 将日期列转换为数据框的 unix 日期列
- python - 如何在不下载的情况下直接访问 Azure datalake gen2 中存在的 .txt 文件
- javascript - 如何在 Gatsby 中转换页面
- julia - 如何在 Julia 中将 DataFrame 的 DateTime 元素转换为 Int64 毫秒?
- c# - Mongo .Net Driver PipelineStageDefinitionBuilder.Project 自动忽略所有带有 facet 的 Id 值
- redis - 与在 redis-cli 客户端上运行的本机命令相比,为什么 EVALSHA 命令会带来如此高的性能成本?