gpg 명령을 사용하고 와일드카드를 사용하여 파일을 검색할 때 파일 이름의 일부를 보존할 수 있습니까?

gpg 명령을 사용하고 와일드카드를 사용하여 파일을 검색할 때 파일 이름의 일부를 보존할 수 있습니까?

와일드카드를 사용하여 파일을 선택할 때 gpg 명령에서 파일 이름의 일부를 유지하는 방법은 무엇입니까?

파일 이름은 매일/매월 변경되지만 정적으로 유지하려면 명령이 필요합니다.

암호화 전:

FILENAME.1234
FILENAME.9876

암호화 후:

FILENAME.1234.pgp
FILENAME.9876.pgp

지금까지의 명령:

 gpg --batch --passphrase-fd 0 --output /usr/tmp/FILENAME*.pgp --encrypt -r "Some Quoted Text" --sign -u UserName /usr/tmp/FILENAME*

명령줄에서 이 작업을 수행할 수 있습니까, 아니면 for 루프가 필요합니까?

답변1

gpg여러 파일 이름은 허용되지 않습니다 --output. 이는 쉘 fileglob이 확장하는 것입니다. 따라서 xargs각 파일에 대해 명령을 한 번씩 "루프"하거나 실행해야 합니다 .

저는 공백으로부터 안전한 파일 이름 작업을 작성하는 데 익숙하기 때문에 널 구분 기호( / )와 함께 findAND를 사용하겠습니다.xargs-print0-0

find /usr/tmp -iname 'FILENAME.*' -print0 | xargs -0 -I %  \
    gpg --batch \
    --passphrase-fd 0 --output %.pgp --encrypt \
    -r "Some Quoted Text" --sign -u UserName \
    %

전체 공개: 아직 테스트하지 않았습니다. 테스트를 위해 gpg를 설정하는 부담이 너무 높지만 거의 완료되어야 합니다.

관련 정보