파일의 n번째 열을 가져와서 쉘 스크립트에 입력합니다.

파일의 n번째 열을 가져와서 쉘 스크립트에 입력합니다.

2개의 열이 있는 파일(encrypted_pass.txt)이 있습니다.

user1 encrypted_pass1
user2 encrypted_pass2 
user3 encrypted_pass3
...

사용자 비밀번호(두 번째 열)는 암호화됩니다. 암호화된 비밀번호를 해독하는 쉘 스크립트가 있습니다. 스크립트는 암호화된 비밀번호를 입력으로 사용하고 이를 해독합니다.

decryptor.sh -d encrypted_password

내가 원하는 것은 파일(2열)에서 암호화된 비밀번호를 가져와서 암호화된 비밀번호를 해독하고 새 파일에 쓰는 것입니다. 따라서 출력 파일은 다음과 같아야 합니다.

user1 decrypted_pass1
user2 decrypted_pass2 
user3 decrypted_pass3
...

awk를 사용하여 이 작업을 어떻게 수행할 수 있나요?

답변1

system프로시저를 사용하여 내부에서 스크립트를 호출 할 수 있습니다 awk.

awk '{printf $1" "; system("decryptor.sh -d " $2)}' file1 > file2

답변2

다음과 같이 사용할 수도 있습니다.

cut -f2 -d " " input_file | xargs -n1 decryptor.sh -d > output_file

관련 정보