簡體   English   中英

Zcat for循環中的多個壓縮文件

[英]Zcat multiple compressed files in a for loop

我是bash腳本的新手,我一直在這里在stackoverflow中尋找一個答案,該答案將與我在尋找的內容相匹配,但找不到確切的匹配結果。

我有多個包含多個壓縮文件的文件夾,有些是gzip擴展名,有些沒有擴展名。

我能夠查看壓縮文件內容的唯一方法是

zcat filename.gzip > filename

我的目標是創建一個for循環,該循環將:

  1. zcat所有文件並將其輸出到新文件並在末尾添加標識符,例如“ -read”
  2. 刪除壓縮文件

謝謝!

要使用findbasenamewhile循環解壓縮gzip將處理的所有文件:

find . -type f | while read f; do
    set -e # You should probably always script with set -e
           # This will cause the subshell to stop on errors.
    zcat < "$f" > "$f-new" || continue
    rm "$f"
done

這也應該處理出現的任何奇怪的報價。 while循環將在子外殼中運行,並且set -e將在其中設置錯誤停止選項,這樣,如果zcatrm出現錯誤,它就不會繼續努力破壞所有可見的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM