여러 파일에 대한 .bup 파일의 복사본을 생성하기 위한 bash 별칭

여러 파일에 대한 .bup 파일의 복사본을 생성하기 위한 bash 별칭

내 사용자 정의 .bashrc 파일이 있습니다. 저는 코딩 연습을 많이 해서 원시 텍스트와 JDK를 사용합니다.

저는 "shopt -s extglob"을 사용합니다.

각 파일의 .bup 복사본을 (비재귀적으로) 생성하고 작업이 완료되면 해당 파일을 종료해야 합니다.

그래서 나는 이렇게 했습니다:

alias do_bups='cp ./!(*.bup) ./*.bup'
alias do_bups_clear='rm ./*.bup'

무슨 일이야:

cp: target './*.bup' is not a directory

접미사가 추가된 파일을 어떻게 복사하나요?

답변1

한 가지 방법은 다음과 같습니다.

for f in ./!(*.bup); do
    cp "$f" "$f.bup"
done

더 안전한 방법:

for f in ./!(*.bup); do
    if [ -f "$f" ]; then
        cp -i "$f" "$f.bup"
    fi
done

관련 정보