复制多个文件并附加到文件名末尾

复制多个文件并附加到文件名末尾

看来我真的不需要为此创建脚本。我想做点什么cp /etc/*.conf $1.orig,或者cp /etc/{a.conf,b.conf} _firstarg_.orig有没有一种快速、无痛的方法可以做到这一点?

答案1

使用循环很容易:

for f in /etc/*.conf; do cp -v -- "$f" "$f.orig"; done

答案2

在任何 shell 中,您都可以使用循环:

for x in /etc/*.conf; do cp -i -- "$x" "$x.orig"; done

-i如果您不关心覆盖现有文件,请删除。)

使用 zsh,您可以使用提供的函数zcm(将前三行放入您的 中~/.zshrc):

autoload zmv
alias zcp='zmv -C'
alias zln='zmv -L'
zcp '/etc/(*.conf)' '/etc/$1.orig'

-f在后面添加zcp以覆盖任何现有的目标文件。)

相关内容