如何将含1000行的wordlist字典每5行合并为一行?
解决方法:将字典每5行合并为一行
嘿,这个需求用命令行工具或者简单的Python脚本都能轻松搞定,给你几个实用的方案:
方案1:用awk命令(最快的命令行方式)
awk是处理文本行的神器,一行命令就能完成:
awk '{printf "%s ", $0} NR%5==0 {print ""}' wordlist.txt > merged_wordlist.txt
解释:
printf "%s ", $0:把每行内容($0)后面加个空格,不换行输出NR%5==0 {print ""}:当处理到第5、10、15...行时,输出一个换行符,完成一组5行的合并- 最后把结果重定向到
merged_wordlist.txt里
方案2:用paste命令(更简洁的命令行方式)
paste也能快速合并多行,语法更直观:
paste -d' ' - - - - - < wordlist.txt > merged_wordlist.txt
解释:
-d' ':指定合并时用空格作为分隔符- 五个
-代表每次从输入里读取5行,把它们用空格连接成一行 - 同样把结果输出到新文件
方案3:用Python脚本(适合需要自定义逻辑的场景)
如果更熟悉Python,或者以后可能要调整合并规则,这个脚本更灵活:
with open('wordlist.txt', 'r') as infile, open('merged_wordlist.txt', 'w') as outfile: temp_lines = [] for line in infile: # 去掉每行末尾的换行符和前后多余空格 cleaned_line = line.strip() temp_lines.append(cleaned_line) # 凑够5行就合并写入 if len(temp_lines) == 5: merged_line = ' '.join(temp_lines) outfile.write(merged_line + '\n') temp_lines = [] # 处理最后不足5行的情况(你的1000行刚好整除,这部分可以忽略,但保留更通用) if temp_lines: merged_line = ' '.join(temp_lines) outfile.write(merged_line + '\n')
解释:
- 打开原文件和目标文件,逐行读取原内容
- 把每行清理后存到临时列表,凑够5行就用空格连接成一行写入新文件
- 最后处理可能剩下的不足5行的内容(比如如果原文件是1001行,这部分就会生效)
内容的提问来源于stack exchange,提问作者mr M
相关产品推荐
相关产品推荐

