Files
根據模式壓縮多個文件
我想知道如何根據模式使用 gzip、tar 等壓縮幾個文件……也就是說,如果我有這些文件:
server_regTCA.log.2021.02.12 server_regTCA.log.2021.02.13 server_regTCA.log.2021.02.14 server_regTCA.log.2021.02.15 server_regTCA.log.2021.02.16 server_regTCA.log.2021.02.17 server_regTCA.log.2021.02.18
我想做類似的事情
gzip -9 server_regTCA.log.2021.02.[12-15]
謝謝
你還沒有提到你正在使用什麼外殼,這就是控制模式擴展的東西。
如果您正在使用
bash
,您可以使用大括號擴展:gzip server_regTCA.log.2021.02.{12..15}
如果您使用的是更簡單的 shell,例如
sh
沒有大括號擴展,則僅限於匹配單字元模式:gzip server_regTCA.log.2021.02.1[2-5]
在這兩種情況下,您都可以在命令前加上前綴,
echo
以查看 shell 如何在不實際執行gzip
.如果您正在尋找壓縮“舊”文件,可能有更好的方法來做到這一點。例如,這將壓縮與您列出的文件名的形狀匹配的所有(未壓縮)文件,這些文件名在一年(366 天)前最後一次更改:
find ... -type f -mtime +365 -name 'server_regTCA.log.????.??.??' -exec gzip {} +
(每個
?
匹配一個字元。壓縮文件有一個.gz
不會被模式匹配的後綴。)