这是我想要备份的访问日志。
/var/log/httpd/access_log /var/log/httpd/access_log.1 /var/log/httpd/access_log.2 /var/log/httpd/access_log.3 ...
我想要复制所有这些文件,但使用不同的名称:
以下按预期工作,但假设会有大量文件要复制,是否可以编写单个命令?
cp /var/log/httpd/access_log /home/shantanu/access_log.bak cp /var/log/httpd/access_log.1 /home/shantanu/access_log.1.bak
我认为这应该做的伎俩。
for f in /var/log/httpd/access_log*; do cp $f /home/shantanu/$(basename $f).bak; done
ls /var/log/httpd/access_log* | xargs -I% cp % %.bak mv /var/log/httpd/*.bak /to/somewhere
find access_log* -type f -execdir mv {} {}.bak \;