2つの列を持つファイル(encrypted_pass.txt)があります。
user1 encrypted_pass1
user2 encrypted_pass2
user3 encrypted_pass3
...
ユーザーパスワード(2番目の列)は暗号化されています。暗号化されたパスワードを復号化するシェルスクリプトがあります。スクリプトは暗号化されたパスワードを入力として使用し、それを復号化します。
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