gpt4 book ai didi

linux - 将 .gz 文件解压到/tmp 位置并在任务完成后删除未压缩的 .gz 文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:12 27 4
gpt4 key购买 nike

我的逐行读取文件的脚本如下,

file= "/c/User/XXX/Desktop/XYZ.log" 
while IFS= read -r line
do
if echo $line | grep -Eq 'something' ; then

[ do these tasks ]


# define the log directory
log_dir=/c/Users/xxxxx/Desktop/Logs/"$DIR"/read_log

# define the log file for this month
log_file="$log_dir/rlog-$(date +%Y-%m)"

# Create the log directory.
if [ ! -d "$log_dir" ]; then
mkdir -p "$log_dir" ||
die "failed to create log directory $log_dir"
fi

echo "variable" >> "$log_file"

fi
done <"$file"

实际上我应该读取的文件是 .gz 文件包含其中的单个大文件位于某个路径/x/y/z。我想知道如何将此文件解压缩到特定位置/tmp 并在最后删除它。我想在我的代码行中添加解压缩和删除任务。

谢谢

最佳答案

您可以使用read 将tar 文件提取到while 并根据需要逐行处理:

file=/c/User/XXX/Desktop/XYZ.gz
tar -xzf - $file | while IFS= read -r line
do
...
done

关于linux - 将 .gz 文件解压到/tmp 位置并在任务完成后删除未压缩的 .gz 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50975144/

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