我想添加包含密码的文件的内容,并将其添加到包含电子邮件列表的其他文件中,我希望格式为:
email@example.com:examplepass
我试图用Python脚本做到这一点但到目前为止没有运气,用sed尝试它并且它有效,但不是我想要它做的。我创建了一个新的环境变量,我将其设置如下:
export FILES=$(cat pass.txt)
然后我使用了命令
sed 's/$/$($FILES)/' test.txt > test5000.txt
将每行的每个密码添加到电子邮件列表中,而不是将其打印出来
email@example.com:$FILES
答案 0 :(得分:2)
很确定你只想要paste -d: test.txt pass.txt
答案 1 :(得分:0)
它适用于sed
但是用单引号括起来可以避免评估env。变量。所以请用双引号括起来。此外,无需在替换中重复$。
sed "s/\$/($FILES)/" test.txt > test5000.txt
警告:很有可能在替换中解释了一些密码字符(例如,\1
或甚至引号等向后引用的内容!! ...)所以这个解决方案不是'当你不知道$FILES
Python版本(我建议使用此解决方案),未经测试但对此非常有信心,并且即使密码文件包含特殊字符也是万无一失的:
with open('pass.txt') as fr:
passwords = fr.read()
with open("test.txt") as fr, open('test50000.txt', "w") as fw:
fw.writelines('{}{}\n'.format(t.rstrip(),passwords) for t in fr)
首先,读取密码文件,然后打开输入&输出并写入由用户名组成的行(没有行终止符)+密码+行终止符以便更好地理解。