我有一个包含 2 列的文件 (encrypted_pass.txt):
user1 encrypted_pass1
user2 encrypted_pass2
user3 encrypted_pass3
...
用户密码(第二列)已加密。我有一个 shell 脚本可以解密加密的密码。该脚本采用加密的密码作为输入并对其进行解密:
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