여러 파일을 복사하여 파일 이름 끝에 추가

여러 파일을 복사하여 파일 이름 끝에 추가

이를 위해 실제로 스크립트를 만들 필요는 없는 것 같습니다. 나는 무엇을 하고 싶습니까 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

모든 쉘에서 루프를 사용할 수 있습니다:

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

관련 정보